home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
dev
/
lang
/
f2c_amiga1.lha
/
f2c-1993.04.28amiga
/
source-patches
/
patches-for-src
< prev
Wrap
Text File
|
1993-12-01
|
161KB
|
4,596 lines
diff -c ORIG-src/gram.c src/gram.c
*** ORIG-src/gram.c Wed Apr 28 07:07:31 1993
--- src/gram.c Wed Nov 17 11:44:08 1993
***************
*** 1,104 ****
- # define SEOS 1
- # define SCOMMENT 2
- # define SLABEL 3
- # define SUNKNOWN 4
- # define SHOLLERITH 5
- # define SICON 6
- # define SRCON 7
- # define SDCON 8
- # define SBITCON 9
- # define SOCTCON 10
- # define SHEXCON 11
- # define STRUE 12
- # define SFALSE 13
- # define SNAME 14
- # define SNAMEEQ 15
- # define SFIELD 16
- # define SSCALE 17
- # define SINCLUDE 18
- # define SLET 19
- # define SASSIGN 20
- # define SAUTOMATIC 21
- # define SBACKSPACE 22
- # define SBLOCK 23
- # define SCALL 24
- # define SCHARACTER 25
- # define SCLOSE 26
- # define SCOMMON 27
- # define SCOMPLEX 28
- # define SCONTINUE 29
- # define SDATA 30
- # define SDCOMPLEX 31
- # define SDIMENSION 32
- # define SDO 33
- # define SDOUBLE 34
- # define SELSE 35
- # define SELSEIF 36
- # define SEND 37
- # define SENDFILE 38
- # define SENDIF 39
- # define SENTRY 40
- # define SEQUIV 41
- # define SEXTERNAL 42
- # define SFORMAT 43
- # define SFUNCTION 44
- # define SGOTO 45
- # define SASGOTO 46
- # define SCOMPGOTO 47
- # define SARITHIF 48
- # define SLOGIF 49
- # define SIMPLICIT 50
- # define SINQUIRE 51
- # define SINTEGER 52
- # define SINTRINSIC 53
- # define SLOGICAL 54
- # define SNAMELIST 55
- # define SOPEN 56
- # define SPARAM 57
- # define SPAUSE 58
- # define SPRINT 59
- # define SPROGRAM 60
- # define SPUNCH 61
- # define SREAD 62
- # define SREAL 63
- # define SRETURN 64
- # define SREWIND 65
- # define SSAVE 66
- # define SSTATIC 67
- # define SSTOP 68
- # define SSUBROUTINE 69
- # define STHEN 70
- # define STO 71
- # define SUNDEFINED 72
- # define SWRITE 73
- # define SLPAR 74
- # define SRPAR 75
- # define SEQUALS 76
- # define SCOLON 77
- # define SCOMMA 78
- # define SCURRENCY 79
- # define SPLUS 80
- # define SMINUS 81
- # define SSTAR 82
- # define SSLASH 83
- # define SPOWER 84
- # define SCONCAT 85
- # define SAND 86
- # define SOR 87
- # define SNEQV 88
- # define SEQV 89
- # define SNOT 90
- # define SEQ 91
- # define SLT 92
- # define SGT 93
- # define SLE 94
- # define SGE 95
- # define SNE 96
- # define SENDDO 97
- # define SWHILE 98
- # define SSLASHD 99
! /* # line 124 "gram.in" */
#include "defs.h"
#include "p1defs.h"
--- 1,111 ----
! /* A Bison parser, made from gram.y with Bison version GNU Bison version 1.21
! */
!
! #define YYBISON 1 /* Identify Bison output. */
!
! #define SEOS 1
! #define SCOMMENT 2
! #define SLABEL 3
! #define SUNKNOWN 4
! #define SHOLLERITH 5
! #define SICON 6
! #define SRCON 7
! #define SDCON 8
! #define SBITCON 9
! #define SOCTCON 10
! #define SHEXCON 11
! #define STRUE 12
! #define SFALSE 13
! #define SNAME 14
! #define SNAMEEQ 15
! #define SFIELD 16
! #define SSCALE 17
! #define SINCLUDE 18
! #define SLET 19
! #define SASSIGN 20
! #define SAUTOMATIC 21
! #define SBACKSPACE 22
! #define SBLOCK 23
! #define SCALL 24
! #define SCHARACTER 25
! #define SCLOSE 26
! #define SCOMMON 27
! #define SCOMPLEX 28
! #define SCONTINUE 29
! #define SDATA 30
! #define SDCOMPLEX 31
! #define SDIMENSION 32
! #define SDO 33
! #define SDOUBLE 34
! #define SELSE 35
! #define SELSEIF 36
! #define SEND 37
! #define SENDFILE 38
! #define SENDIF 39
! #define SENTRY 40
! #define SEQUIV 41
! #define SEXTERNAL 42
! #define SFORMAT 43
! #define SFUNCTION 44
! #define SGOTO 45
! #define SASGOTO 46
! #define SCOMPGOTO 47
! #define SARITHIF 48
! #define SLOGIF 49
! #define SIMPLICIT 50
! #define SINQUIRE 51
! #define SINTEGER 52
! #define SINTRINSIC 53
! #define SLOGICAL 54
! #define SNAMELIST 55
! #define SOPEN 56
! #define SPARAM 57
! #define SPAUSE 58
! #define SPRINT 59
! #define SPROGRAM 60
! #define SPUNCH 61
! #define SREAD 62
! #define SREAL 63
! #define SRETURN 64
! #define SREWIND 65
! #define SSAVE 66
! #define SSTATIC 67
! #define SSTOP 68
! #define SSUBROUTINE 69
! #define STHEN 70
! #define STO 71
! #define SUNDEFINED 72
! #define SWRITE 73
! #define SLPAR 74
! #define SRPAR 75
! #define SEQUALS 76
! #define SCOLON 77
! #define SCOMMA 78
! #define SCURRENCY 79
! #define SPLUS 80
! #define SMINUS 81
! #define SSTAR 82
! #define SSLASH 83
! #define SPOWER 84
! #define SCONCAT 85
! #define SAND 86
! #define SOR 87
! #define SNEQV 88
! #define SEQV 89
! #define SNOT 90
! #define SEQ 91
! #define SLT 92
! #define SGT 93
! #define SLE 94
! #define SGE 95
! #define SNE 96
! #define SENDDO 97
! #define SWHILE 98
! #define SSLASHD 99
!
! #line 123 "gram.y"
!
#include "defs.h"
#include "p1defs.h"
***************
*** 150,157 ****
}
! /* # line 178 "gram.in" */
! typedef union {
int ival;
ftnint lval;
char *charpval;
--- 157,164 ----
}
! #line 178 "gram.y"
! typedef union {
int ival;
ftnint lval;
char *charpval;
***************
*** 163,875 ****
struct Eqvchain *eqvval;
Extsym *extval;
} YYSTYPE;
! #define yyclearin yychar = -1
! #define yyerrok yyerrflag = 0
! extern int yychar;
! typedef int yytabelem;
! extern yytabelem yyerrflag;
! #ifndef YYMAXDEPTH
! #define YYMAXDEPTH 150
#endif
- YYSTYPE yylval, yyval;
- # define YYERRCODE 256
- yytabelem yyexca[] ={
- -1, 1,
- 0, -1,
- -2, 0,
- -1, 20,
- 1, 38,
- -2, 228,
- -1, 24,
- 1, 42,
- -2, 228,
- -1, 122,
- 6, 240,
- -2, 228,
- -1, 150,
- 1, 244,
- -2, 188,
- -1, 174,
- 1, 265,
- 78, 265,
- -2, 188,
- -1, 223,
- 77, 173,
- -2, 139,
- -1, 245,
- 74, 228,
- -2, 225,
- -1, 271,
- 1, 286,
- -2, 143,
- -1, 275,
- 1, 295,
- 78, 295,
- -2, 145,
- -1, 328,
- 77, 174,
- -2, 141,
- -1, 358,
- 1, 267,
- 14, 267,
- 74, 267,
- 78, 267,
- -2, 189,
- -1, 436,
- 91, 0,
- 92, 0,
- 93, 0,
- 94, 0,
- 95, 0,
- 96, 0,
- -2, 153,
- -1, 453,
- 1, 289,
- 78, 289,
- -2, 143,
- -1, 455,
- 1, 291,
- 78, 291,
- -2, 143,
- -1, 457,
- 1, 293,
- 78, 293,
- -2, 143,
- -1, 459,
- 1, 296,
- 78, 296,
- -2, 144,
- -1, 504,
- 78, 289,
- -2, 143,
- };
- # define YYNPROD 301
- # define YYLAST 1346
- yytabelem yyact[]={
-
- 237, 274, 471, 317, 316, 412, 420, 297, 470, 399,
- 413, 397, 386, 357, 398, 266, 128, 356, 273, 252,
- 292, 5, 116, 295, 326, 303, 222, 99, 184, 121,
- 195, 229, 17, 203, 270, 304, 313, 199, 201, 118,
- 94, 202, 396, 104, 210, 183, 236, 101, 106, 234,
- 264, 103, 111, 336, 260, 95, 96, 97, 165, 166,
- 334, 335, 336, 395, 105, 311, 309, 190, 130, 131,
- 132, 133, 120, 135, 119, 114, 157, 129, 157, 475,
- 103, 272, 334, 335, 336, 396, 521, 103, 278, 483,
- 535, 165, 166, 334, 335, 336, 342, 341, 340, 339,
- 338, 137, 343, 345, 344, 347, 346, 348, 450, 258,
- 259, 260, 539, 165, 166, 258, 259, 260, 261, 525,
- 102, 522, 155, 409, 155, 186, 187, 103, 408, 117,
- 165, 166, 258, 259, 260, 318, 100, 527, 484, 188,
- 446, 185, 480, 230, 240, 240, 194, 193, 290, 120,
- 211, 119, 462, 481, 157, 294, 482, 257, 157, 243,
- 468, 214, 463, 469, 461, 464, 460, 239, 241, 220,
- 215, 218, 157, 219, 213, 165, 166, 334, 335, 336,
- 342, 341, 340, 157, 371, 452, 343, 345, 344, 347,
- 346, 348, 443, 428, 377, 294, 102, 102, 102, 102,
- 155, 189, 447, 149, 155, 446, 192, 103, 98, 196,
- 197, 198, 277, 376, 320, 321, 206, 288, 155, 289,
- 300, 375, 299, 324, 315, 328, 275, 275, 330, 155,
- 310, 333, 196, 216, 217, 350, 269, 207, 308, 352,
- 353, 333, 100, 177, 354, 349, 323, 112, 245, 257,
- 247, 110, 157, 417, 286, 287, 418, 362, 157, 157,
- 157, 157, 157, 257, 257, 109, 108, 268, 279, 280,
- 281, 265, 107, 355, 4, 333, 427, 465, 378, 370,
- 170, 172, 176, 257, 165, 166, 258, 259, 260, 261,
- 102, 406, 232, 293, 407, 381, 422, 390, 155, 400,
- 391, 223, 419, 422, 155, 155, 155, 155, 155, 117,
- 221, 314, 392, 319, 387, 359, 372, 196, 360, 373,
- 374, 333, 333, 536, 350, 333, 275, 250, 424, 333,
- 405, 333, 410, 532, 230, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 403, 331, 156, 401, 332,
- 531, 333, 530, 333, 333, 333, 388, 526, 380, 529,
- 524, 157, 257, 333, 431, 492, 257, 257, 257, 257,
- 257, 382, 383, 235, 426, 384, 358, 494, 296, 333,
- 448, 165, 166, 258, 259, 260, 261, 451, 165, 166,
- 258, 259, 260, 261, 103, 445, 472, 400, 421, 191,
- 402, 196, 103, 150, 307, 174, 285, 155, 474, 246,
- 476, 416, 467, 466, 242, 226, 223, 200, 212, 136,
- 209, 486, 171, 488, 490, 275, 275, 275, 141, 240,
- 496, 429, 329, 333, 333, 333, 333, 333, 333, 333,
- 333, 333, 333, 403, 497, 479, 401, 403, 487, 154,
- 257, 154, 495, 493, 306, 485, 502, 454, 456, 458,
- 500, 491, 268, 499, 505, 506, 507, 103, 451, 271,
- 271, 472, 30, 333, 414, 501, 400, 508, 511, 509,
- 387, 244, 208, 510, 516, 514, 515, 333, 517, 333,
- 513, 333, 520, 293, 518, 225, 240, 333, 402, 523,
- 92, 248, 402, 528, 6, 262, 123, 249, 81, 80,
- 275, 275, 275, 79, 534, 533, 479, 78, 173, 263,
- 314, 77, 403, 76, 537, 401, 351, 154, 75, 333,
- 282, 154, 60, 49, 48, 333, 45, 33, 333, 538,
- 113, 205, 454, 456, 458, 154, 267, 165, 166, 334,
- 335, 336, 342, 540, 503, 411, 154, 204, 394, 393,
- 298, 478, 503, 503, 503, 134, 389, 312, 115, 379,
- 26, 25, 24, 23, 302, 22, 305, 402, 21, 385,
- 284, 9, 503, 8, 7, 2, 519, 301, 20, 319,
- 164, 51, 489, 291, 228, 327, 325, 415, 91, 361,
- 255, 53, 337, 19, 55, 365, 366, 367, 368, 369,
- 37, 224, 3, 1, 0, 351, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 154, 0, 0, 0, 0,
- 0, 154, 154, 154, 154, 154, 0, 0, 0, 267,
- 0, 512, 267, 267, 165, 166, 334, 335, 336, 342,
- 341, 340, 339, 338, 0, 343, 345, 344, 347, 346,
- 348, 165, 166, 334, 335, 336, 342, 341, 453, 455,
- 457, 0, 343, 345, 344, 347, 346, 348, 0, 0,
- 305, 0, 459, 0, 0, 0, 0, 165, 166, 334,
- 335, 336, 342, 341, 340, 339, 338, 351, 343, 345,
- 344, 347, 346, 348, 444, 0, 0, 0, 449, 165,
- 166, 334, 335, 336, 342, 341, 340, 339, 338, 0,
- 343, 345, 344, 347, 346, 348, 165, 166, 334, 335,
- 336, 342, 0, 0, 154, 0, 498, 343, 345, 344,
- 347, 346, 348, 0, 0, 267, 0, 0, 0, 0,
- 0, 442, 0, 504, 455, 457, 165, 166, 334, 335,
- 336, 342, 341, 340, 339, 338, 0, 343, 345, 344,
- 347, 346, 348, 0, 0, 0, 0, 0, 0, 430,
- 0, 477, 0, 305, 165, 166, 334, 335, 336, 342,
- 341, 340, 339, 338, 0, 343, 345, 344, 347, 346,
- 348, 423, 0, 0, 0, 0, 165, 166, 334, 335,
- 336, 342, 341, 340, 339, 338, 0, 343, 345, 344,
- 347, 346, 348, 0, 0, 0, 267, 0, 0, 0,
- 0, 165, 166, 334, 335, 336, 342, 341, 340, 339,
- 338, 12, 343, 345, 344, 347, 346, 348, 0, 0,
- 0, 0, 0, 0, 305, 10, 56, 46, 73, 85,
- 14, 61, 70, 90, 38, 66, 47, 42, 68, 72,
- 31, 67, 35, 34, 11, 87, 36, 18, 41, 39,
- 28, 16, 57, 58, 59, 50, 54, 43, 88, 64,
- 40, 69, 44, 89, 29, 62, 84, 13, 0, 82,
- 65, 52, 86, 27, 74, 63, 15, 0, 0, 71,
- 83, 160, 161, 162, 163, 169, 168, 167, 158, 159,
- 103, 0, 160, 161, 162, 163, 169, 168, 167, 158,
- 159, 103, 0, 0, 32, 160, 161, 162, 163, 169,
- 168, 167, 158, 159, 103, 0, 160, 161, 162, 163,
- 169, 168, 167, 158, 159, 103, 0, 160, 161, 162,
- 163, 169, 168, 167, 158, 159, 103, 0, 160, 161,
- 162, 163, 169, 168, 167, 158, 159, 103, 0, 0,
- 233, 0, 0, 0, 0, 0, 165, 166, 363, 0,
- 364, 233, 227, 0, 0, 0, 238, 165, 166, 231,
- 0, 0, 0, 0, 233, 0, 0, 238, 0, 0,
- 165, 166, 473, 0, 0, 233, 0, 0, 0, 0,
- 238, 165, 166, 231, 0, 0, 233, 0, 0, 0,
- 0, 238, 165, 166, 425, 0, 0, 233, 0, 0,
- 0, 0, 238, 165, 166, 0, 0, 0, 0, 0,
- 0, 0, 0, 238, 160, 161, 162, 163, 169, 168,
- 167, 158, 159, 103, 0, 160, 161, 162, 163, 169,
- 168, 167, 158, 159, 103, 160, 161, 162, 163, 169,
- 168, 167, 158, 159, 103, 0, 0, 0, 160, 161,
- 162, 163, 169, 168, 167, 158, 159, 103, 256, 0,
- 93, 160, 161, 162, 163, 169, 168, 167, 158, 159,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 276, 0, 0, 0, 0, 0, 165,
- 166, 0, 122, 0, 322, 125, 126, 127, 0, 238,
- 165, 166, 0, 0, 0, 0, 0, 138, 139, 0,
- 238, 140, 0, 142, 143, 144, 0, 251, 145, 146,
- 147, 0, 148, 165, 166, 253, 0, 254, 0, 0,
- 153, 0, 0, 0, 0, 0, 165, 166, 151, 0,
- 152, 178, 179, 180, 181, 182, 160, 161, 162, 163,
- 169, 168, 167, 158, 159, 103, 160, 161, 162, 163,
- 169, 168, 167, 158, 159, 103, 160, 161, 162, 163,
- 169, 168, 167, 158, 159, 103, 160, 161, 162, 163,
- 169, 168, 167, 158, 159, 103, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 251, 0, 0, 0, 0,
- 0, 165, 166, 283, 0, 153, 0, 0, 0, 0,
- 0, 165, 166, 175, 0, 404, 0, 0, 0, 0,
- 0, 165, 166, 56, 46, 251, 85, 0, 61, 0,
- 90, 165, 166, 47, 73, 0, 0, 0, 70, 0,
- 0, 66, 87, 0, 68, 72, 0, 67, 0, 57,
- 58, 59, 50, 0, 0, 88, 0, 0, 0, 0,
- 89, 0, 62, 84, 0, 64, 82, 69, 52, 86,
- 0, 0, 63, 0, 124, 0, 65, 83, 0, 0,
- 74, 0, 0, 0, 0, 71 };
- yytabelem yypact[]={
-
- -1000, 18, 503, 837,-1000,-1000,-1000,-1000,-1000,-1000,
- 495,-1000,-1000,-1000,-1000,-1000,-1000, 164, 453, -35,
- 194, 188, 187, 173, 58, 169, -8, 66,-1000,-1000,
- -1000,-1000,-1000,1264,-1000,-1000,-1000, -5,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000, 453,-1000,-1000,-1000,-1000,
- -1000, 354,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,1096, 348,1191, 348, 165,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-1000, 453, 453, 453, 453,-1000, 453,
- -1000, 325,-1000,-1000, 453,-1000, -11, 453, 453, 453,
- 343,-1000,-1000,-1000, 453, 159,-1000,-1000,-1000,-1000,
- 468, 346, 58,-1000,-1000, 344,-1000,-1000,-1000,-1000,
- 66, 453, 453, 343,-1000,-1000, 234, 342, 489,-1000,
- 341, 917, 963, 963, 340, 475, 453, 335, 453,-1000,
- -1000,-1000,-1000,1083,-1000,-1000, 308,1211,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,1083, 193, 158,-1000,-1000,1049,1049,-1000,-1000,
- -1000,-1000,1181, 332,-1000,-1000, 325, 325, 453,-1000,
- -1000, 73, 304,-1000, 58,-1000, 304,-1000,-1000,-1000,
- 453,-1000, 380,-1000, 330,1273, -17, 66, -18, 453,
- 475, 37, 963,1060,-1000, 453,-1000,-1000,-1000,-1000,
- -1000, 963,-1000, 963, 361,-1000, 963,-1000, 271,-1000,
- 751, 475,-1000, 963,-1000,-1000,-1000, 963, 963,-1000,
- 751,-1000, 963,-1000,-1000, 58, 475,-1000, 301, 240,
- -1000,1211,-1000,-1000,-1000, 906,-1000,1211,1211,1211,
- 1211,1211, -30, 204, 106, 388,-1000,-1000, 388, 388,
- -1000, 143, 135, 116, 751,-1000,1049,-1000,-1000,-1000,
- -1000,-1000, 308,-1000,-1000, 300,-1000,-1000, 325,-1000,
- -1000, 222,-1000,-1000,-1000, -5,-1000, -36,1201, 453,
- -1000, 216,-1000, 45,-1000,-1000, 380, 460,-1000, 453,
- -1000,-1000, 178,-1000, 226,-1000,-1000,-1000, 324, 220,
- 726, 751, 952,-1000, 751, 299, 199, 115, 751, 453,
- 704,-1000, 941, 963, 963, 963, 963, 963, 963, 963,
- 963, 963, 963,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- 676, 114, -31, 646, 629, 321, 127,-1000,-1000,-1000,
- 1083, 33, 751,-1000,-1000, 27, -30, -30, -30, 50,
- -1000, 388, 106, 107, 106,1049,1049,1049, 607, 88,
- 86, 74,-1000,-1000,-1000, 87,-1000, 201,-1000, 304,
- -1000, 113,-1000, 85, 930,-1000,1201,-1000,-1000, -3,
- 1070,-1000,-1000,-1000, 963,-1000,-1000, 453,-1000, 380,
- 64, 78,-1000, 8,-1000, 60,-1000,-1000, 453, 963,
- 58, 963, 963, 391,-1000, 290, 303, 963, 963,-1000,
- 475,-1000, 0, -31, -31, -31, 467, 95, 95, 581,
- 646, -22,-1000, 963,-1000, 475, 475, 58,-1000, 308,
- -1000,-1000, 388,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- 1049,1049,1049,-1000, 466, 465, -5,-1000,-1000, 930,
- -1000,-1000, 564,-1000,-1000,1201,-1000,-1000,-1000,-1000,
- 380,-1000, 460, 460, 453,-1000, 751, 37, 11, 43,
- 751,-1000,-1000,-1000, 963, 285, 751, 41, 282, 62,
- -1000, 963, 284, 227, 282, 277, 275, 258,-1000,-1000,
- -1000,-1000, 930,-1000,-1000, 7, 248,-1000,-1000,-1000,
- -1000,-1000, 963,-1000,-1000, 475,-1000,-1000, 751,-1000,
- -1000,-1000,-1000,-1000, 751,-1000,-1000, 751, 34, 475,
- -1000 };
- yytabelem yypgo[]={
-
- 0, 613, 612, 13, 611, 81, 15, 32, 610, 604,
- 603, 10, 0, 602, 601, 600, 16, 598, 35, 25,
- 597, 596, 595, 3, 4, 594, 67, 593, 592, 50,
- 34, 18, 26, 101, 20, 591, 30, 373, 1, 292,
- 24, 347, 327, 2, 9, 14, 31, 49, 46, 590,
- 588, 39, 28, 45, 587, 585, 584, 583, 581,1100,
- 40, 580, 579, 12, 578, 575, 573, 572, 571, 570,
- 568, 29, 567, 27, 566, 23, 41, 7, 44, 6,
- 37, 565, 38, 561, 560, 11, 22, 36, 559, 558,
- 8, 17, 33, 557, 555, 541, 5, 540, 472, 537,
- 536, 534, 533, 532, 528, 203, 523, 521, 518, 517,
- 513, 509, 88, 508, 507, 19 };
- yytabelem yyr1[]={
-
- 0, 1, 1, 55, 55, 55, 55, 55, 55, 55,
- 2, 56, 56, 56, 56, 56, 56, 56, 60, 52,
- 33, 53, 53, 61, 61, 62, 62, 63, 63, 26,
- 26, 26, 27, 27, 34, 34, 17, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 10,
- 10, 10, 74, 7, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 16, 16, 16, 50,
- 50, 50, 50, 51, 51, 64, 64, 65, 65, 66,
- 66, 80, 54, 54, 67, 67, 81, 82, 76, 83,
- 84, 77, 77, 85, 85, 45, 45, 45, 70, 70,
- 86, 86, 72, 72, 87, 36, 18, 18, 19, 19,
- 75, 75, 89, 88, 88, 90, 90, 43, 43, 91,
- 91, 3, 68, 68, 92, 92, 95, 93, 94, 94,
- 96, 96, 11, 69, 69, 97, 20, 20, 71, 21,
- 21, 22, 22, 38, 38, 38, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 12, 12, 13, 13, 13, 13, 13, 13, 37, 37,
- 37, 37, 32, 40, 40, 44, 44, 48, 48, 48,
- 48, 48, 48, 48, 47, 49, 49, 49, 41, 41,
- 42, 42, 42, 42, 42, 42, 42, 42, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 99, 23, 24,
- 24, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 4, 100, 101, 101, 101, 101, 73, 73,
- 35, 25, 25, 46, 46, 14, 14, 28, 28, 59,
- 78, 79, 102, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 104, 111, 111,
- 111, 106, 113, 113, 113, 108, 108, 105, 105, 114,
- 114, 115, 115, 115, 115, 115, 115, 15, 107, 109,
- 110, 110, 29, 29, 6, 6, 30, 30, 30, 31,
- 31, 31, 31, 31, 31, 5, 5, 5, 5, 5,
- 112 };
- yytabelem yyr2[]={
-
- 0, 0, 3, 2, 2, 2, 3, 3, 2, 1,
- 1, 3, 4, 3, 4, 4, 5, 3, 0, 1,
- 1, 0, 1, 2, 3, 1, 3, 1, 3, 0,
- 2, 3, 1, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 1, 5, 7,
- 5, 5, 0, 2, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 4, 6, 3,
- 4, 5, 3, 1, 3, 3, 3, 3, 3, 3,
- 3, 3, 1, 3, 3, 3, 0, 6, 0, 0,
- 0, 2, 3, 1, 3, 1, 2, 1, 1, 3,
- 1, 1, 1, 3, 3, 2, 1, 5, 1, 3,
- 0, 3, 0, 2, 3, 1, 3, 1, 1, 1,
- 3, 1, 3, 3, 4, 1, 0, 2, 1, 3,
- 1, 3, 1, 1, 2, 4, 1, 3, 0, 0,
- 1, 1, 3, 1, 3, 1, 1, 1, 3, 3,
- 3, 3, 2, 3, 3, 3, 3, 3, 2, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 4, 5, 5, 0, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 5, 1, 1, 1, 1, 3,
- 1, 1, 3, 3, 3, 3, 2, 3, 1, 7,
- 4, 1, 2, 2, 6, 2, 2, 5, 3, 1,
- 4, 4, 5, 2, 1, 1, 10, 1, 3, 4,
- 3, 3, 1, 1, 3, 3, 7, 7, 0, 1,
- 3, 1, 3, 1, 2, 1, 1, 1, 3, 0,
- 0, 0, 1, 2, 2, 2, 2, 2, 2, 2,
- 3, 4, 4, 2, 3, 1, 3, 3, 1, 1,
- 1, 3, 1, 1, 1, 1, 1, 3, 3, 1,
- 3, 1, 1, 1, 2, 2, 2, 1, 3, 3,
- 4, 4, 1, 3, 1, 5, 1, 1, 1, 3,
- 3, 3, 3, 3, 3, 1, 3, 5, 5, 5,
- 0 };
- yytabelem yychk[]={
-
- -1000, -1, -55, -2, 256, 3, 1, -56, -57, -58,
- 18, 37, 4, 60, 23, 69, 44, -7, 40, -10,
- -50, -64, -65, -66, -67, -68, -69, 66, 43, 57,
- -98, 33, 97, -99, 36, 35, 39, -8, 27, 42,
- 53, 41, 30, 50, 55,-100, 20, 29,-101,-102,
- 48, -35, 64, -14, 49, -9, 19, 45, 46, 47,
- -103, 24, 58, 68, 52, 63, 28, 34, 31, 54,
- 25, 72, 32, 21, 67,-104,-106,-107,-109,-110,
- -111,-113, 62, 73, 59, 22, 65, 38, 51, 56,
- 26, -17, 5, -59, -60, -60, -60, -60, 44, -73,
- 78, -52, -33, 14, 78, 99, -73, 78, 78, 78,
- 78, -73, 78, -97, 83, -70, -86, -33, -51, 85,
- 83, -71, -59, -98, 70, -59, -59, -59, -16, 82,
- -71, -71, -71, -71, -81, -71, -37, -33, -59, -59,
- -59, 74, -59, -59, -59, -59, -59, -59, -59,-105,
- -42, 82, 84, 74, -37, -48, -41, -12, 12, 13,
- 5, 6, 7, 8, -49, 80, 81, 11, 10, 9,
- -105, 74,-105,-108, -42, 82,-105, 78, -59, -59,
- -59, -59, -59, -53, -52, -53, -52, -52, -60, -33,
- -26, 74, -33, -76, -51, -36, -33, -33, -33, -80,
- 74, -82, -76, -92, -93, -95, -33, 78, 14, 74,
- -78, -73, 74, -78, -36, -51, -33, -33, -80, -82,
- -92, 76, -32, 74, -4, 6, 74, 75, -25, -46,
- -38, 82, -39, 74, -47, -37, -48, -12, 90, -40,
- -38, -40, 74, -3, 6, -33, 74, -33, -41,-114,
- -42, 74,-115, 82, 84, -15, 15, -12, 82, 83,
- 84, 85, -41, -41, -29, 78, -6, -37, 74, 78,
- -30, -39, -5, -31, -38, -47, 74, -30,-112,-112,
- -112,-112, -41, 82, -61, 74, -26, -26, -52, -71,
- 75, -27, -34, -33, 82, -75, 74, -77, -84, -73,
- -75, -54, -37, -19, -18, -37, 74, 74, -7, 83,
- -86, 83, -72, -87, -33, -3, -24, -23, 98, -33,
- -38, -38, 74, -36, -38, -21, -40, -22, -38, 71,
- -38, 75, 78, -12, 82, 83, 84, -13, 89, 88,
- 87, 86, 85, 91, 93, 92, 95, 94, 96, -3,
- -38, -39, -38, -38, -38, -73, -91, -3, 75, 75,
- 78, -41, -38, 82, 84, -41, -41, -41, -41, -41,
- 75, 78, -29, -29, -29, 78, 78, 78, -38, -39,
- -5, -31,-112,-112, 75, -62, -63, 14, -26, -74,
- 75, 78, -16, -88, -89, 99, 78, -85, -45, -44,
- -12, -47, -33, -48, 74, -36, 75, 78, 83, 78,
- -19, -94, -96, -11, 14, -20, -33, 75, 78, 76,
- -79, 74, 76, 75, -79, 82, 75, 77, 78, -33,
- 75, -46, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, 75, 78, 75, 74, 78, 75,-115, -41,
- 75, -6, 78, -39, -5, -39, -5, -39, -5, 75,
- 78, 78, 78, 75, 78, 76, -75, -34, 75, 78,
- -90, -43, -38, 82, -85, 82, -44, -37, -83, -18,
- 78, 75, 78, 81, 78, -87, -38, -73, -38, -28,
- -38, 70, 75, -32, 74, -40, -38, -3, -39, -91,
- -3, -73, -23, -33, -39, -23, -23, -23, -63, 14,
- -16, -90, 77, -45, -44, -77, -23, -96, -11, -33,
- -24, 75, 78, -79, 75, 78, 75, 75, -38, 75,
- 75, 75, 75, -43, -38, 83, 75, -38, -3, 78,
- -3 };
- yytabelem yydef[]={
-
- 1, -2, 0, 0, 9, 10, 2, 3, 4, 5,
- 0, 239, 8, 18, 18, 18, 18, 228, 0, 37,
- -2, 39, 40, 41, -2, 43, 44, 45, 47, 138,
- 198, 239, 201, 0, 239, 239, 239, 66, 138, 138,
- 138, 138, 86, 138, 133, 0, 239, 239, 214, 215,
- 239, 217, 239, 239, 239, 54, 223, 239, 239, 239,
- 242, 239, 235, 236, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 0, 0, 0, 0, 255,
- 239, 239, 239, 239, 239, 258, 259, 260, 262, 263,
- 264, 6, 36, 7, 21, 21, 0, 0, 18, 0,
- 229, 29, 19, 20, 0, 88, 0, 229, 0, 0,
- 0, 88, 126, 134, 0, 46, 98, 100, 101, 73,
- 0, 0, -2, 202, 203, 0, 205, 206, 53, 240,
- 0, 0, 0, 0, 88, 126, 0, 168, 0, 213,
- 0, 0, 173, 173, 0, 0, 0, 0, 0, 243,
- -2, 245, 246, 0, 190, 191, 0, 0, 177, 178,
- 179, 180, 181, 182, 183, 160, 161, 185, 186, 187,
- 247, 0, 248, 249, -2, 266, 253, 0, 300, 300,
- 300, 300, 0, 11, 22, 13, 29, 29, 0, 138,
- 17, 0, 110, 90, 228, 72, 110, 76, 78, 80,
- 0, 85, 0, 123, 125, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 69, 0, 75, 77, 79, 84,
- 122, 0, 169, -2, 0, 222, 0, 218, 0, 231,
- 233, 0, 143, 0, 145, 146, 147, 0, 0, 220,
- 174, 221, 0, 224, 121, -2, 0, 230, 271, 0,
- 188, 0, 269, 272, 273, 0, 277, 0, 0, 0,
- 0, 0, 196, 271, 250, 0, 282, 284, 0, 0,
- 254, -2, 287, 288, 0, -2, 0, 256, 257, 261,
- 278, 279, 300, 300, 12, 0, 14, 15, 29, 52,
- 30, 0, 32, 34, 35, 66, 112, 0, 0, 0,
- 105, 0, 82, 0, 108, 106, 0, 0, 127, 0,
- 99, 74, 0, 102, 0, 241, 200, 209, 0, 0,
- 0, 241, 0, 70, 211, 0, 0, 140, -2, 0,
- 0, 219, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 162, 163, 164, 165, 166, 167, 234,
- 0, 143, 152, 158, 0, 0, 0, 119, -2, 268,
- 0, 0, 274, 275, 276, 192, 193, 194, 195, 197,
- 267, 0, 252, 0, 251, 0, 0, 0, 0, 143,
- 0, 0, 280, 281, 23, 0, 25, 27, 16, 110,
- 31, 0, 50, 0, 0, 51, 0, 91, 93, 95,
- 0, 97, 175, 176, 0, 71, 81, 0, 89, 0,
- 0, 0, 128, 130, 132, 135, 136, 48, 0, 0,
- 228, 0, 0, 0, 67, 0, 170, 173, 0, 212,
- 0, 232, 148, 149, 150, 151, -2, 154, 155, 156,
- 157, 159, 144, 0, 207, 0, 0, 228, 270, 271,
- 189, 283, 0, -2, 290, -2, 292, -2, 294, -2,
- 0, 0, 0, 24, 0, 0, 66, 33, 111, 0,
- 113, 115, 118, 117, 92, 0, 96, 83, 90, 109,
- 0, 124, 0, 0, 0, 103, 104, 0, 0, 208,
- 237, 204, 241, 171, 173, 0, 142, 0, 143, 0,
- 120, 0, 0, 168, -2, 0, 0, 0, 26, 28,
- 49, 114, 0, 94, 95, 0, 0, 129, 131, 137,
- 199, 210, 0, 68, 172, 0, 184, 226, 227, 285,
- 297, 298, 299, 116, 118, 87, 107, 238, 0, 0,
- 216 };
- # ifdef YYDEBUG
- # include "y.debug"
- # endif
-
- # define YYFLAG -1000
- # define YYERROR goto yyerrlab
- # define YYACCEPT return(0)
- # define YYABORT return(1)
-
- /* parser for yacc output */
-
- #ifdef YYDEBUG
- int yydebug = 0; /* 1 for debugging */
- #endif
- YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
- int yychar = -1; /* current input token number */
- int yynerrs = 0; /* number of errors */
- yytabelem yyerrflag = 0; /* error recovery flag */
! yyparse()
! { yytabelem yys[YYMAXDEPTH];
! int yyj, yym;
! register YYSTYPE *yypvt;
! register int yystate, yyn;
! register yytabelem *yyps;
! register YYSTYPE *yypv;
! register yytabelem *yyxi;
!
! yystate = 0;
! yychar = -1;
! yynerrs = 0;
! yyerrflag = 0;
! yyps= &yys[-1];
! yypv= &yyv[-1];
!
! yystack: /* put a state and value onto the stack */
! #ifdef YYDEBUG
! if(yydebug >= 3)
! if(yychar < 0 || yytoknames[yychar] == 0)
! printf("char %d in %s", yychar, yystates[yystate]);
! else
! printf("%s in %s", yytoknames[yychar], yystates[yystate]);
#endif
- if( ++yyps >= &yys[YYMAXDEPTH] ) {
- yyerror( "yacc stack overflow" );
- return(1);
- }
- *yyps = yystate;
- ++yypv;
- *yypv = yyval;
- yynewstate:
- yyn = yypact[yystate];
- if(yyn <= YYFLAG) goto yydefault; /* simple state */
- if(yychar<0) {
- yychar = yylex();
- #ifdef YYDEBUG
- if(yydebug >= 2) {
- if(yychar <= 0)
- printf("lex EOF\n");
- else if(yytoknames[yychar])
- printf("lex %s\n", yytoknames[yychar]);
- else
- printf("lex (%c)\n", yychar);
- }
#endif
! if(yychar < 0)
! yychar = 0;
! }
! if((yyn += yychar) < 0 || yyn >= YYLAST)
! goto yydefault;
! if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
! yychar = -1;
! yyval = yylval;
! yystate = yyn;
! if( yyerrflag > 0 ) --yyerrflag;
! goto yystack;
! }
! yydefault:
! /* default state action */
! if( (yyn=yydef[yystate]) == -2 ) {
! if(yychar < 0) {
! yychar = yylex();
! #ifdef YYDEBUG
! if(yydebug >= 2)
! if(yychar < 0)
! printf("lex EOF\n");
! else
! printf("lex %s\n", yytoknames[yychar]);
#endif
! if(yychar < 0)
! yychar = 0;
! }
! /* look through exception table */
! for(yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate);
! yyxi += 2 ) ; /* VOID */
! while( *(yyxi+=2) >= 0 ){
! if( *yyxi == yychar ) break;
! }
! if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */
! }
! if( yyn == 0 ){ /* error */
! /* error ... attempt to resume parsing */
! switch( yyerrflag ){
! case 0: /* brand new error */
! #ifdef YYDEBUG
! yyerror("syntax error\n%s", yystates[yystate]);
! if(yytoknames[yychar])
! yyerror("saw %s\n", yytoknames[yychar]);
! else if(yychar >= ' ' && yychar < '\177')
! yyerror("saw `%c'\n", yychar);
! else if(yychar == 0)
! yyerror("saw EOF\n");
! else
! yyerror("saw char 0%o\n", yychar);
! #else
! yyerror( "syntax error" );
#endif
! yyerrlab:
! ++yynerrs;
! case 1:
! case 2: /* incompletely recovered error ... try again */
! yyerrflag = 3;
! /* find a state where "error" is a legal shift action */
! while ( yyps >= yys ) {
! yyn = yypact[*yyps] + YYERRCODE;
! if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
! yystate = yyact[yyn]; /* simulate a shift of "error" */
! goto yystack;
! }
! yyn = yypact[*yyps];
! /* the current yyps has no shift onn "error", pop stack */
! #ifdef YYDEBUG
! if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
#endif
- --yyps;
- --yypv;
- }
- /* there is no state on the stack with an error shift ... abort */
- yyabort:
- return(1);
- case 3: /* no shift yet; clobber input char */
- #ifdef YYDEBUG
- if( yydebug ) {
- printf("error recovery discards ");
- if(yytoknames[yychar])
- printf("%s\n", yytoknames[yychar]);
- else if(yychar >= ' ' && yychar < '\177')
- printf("`%c'\n", yychar);
- else if(yychar == 0)
- printf("EOF\n");
- else
- printf("char 0%o\n", yychar);
- }
#endif
! if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
! yychar = -1;
! goto yynewstate; /* try again in the same state */
! }
! }
! /* reduction by production yyn */
! #ifdef YYDEBUG
! if(yydebug) { char *s;
! printf("reduce %d in:\n\t", yyn);
! for(s = yystates[yystate]; *s; s++) {
! putchar(*s);
! if(*s == '\n' && *(s+1))
! putchar('\t');
! }
! }
#endif
- yyps -= yyr2[yyn];
- yypvt = yypv;
- yypv -= yyr2[yyn];
- yyval = yypv[1];
- yym=yyn;
- /* consult goto table to find next state */
- yyn = yyr1[yyn];
- yyj = yypgo[yyn] + *yyps + 1;
- if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
- switch(yym){
case 3:
! /* # line 226 "gram.in" */
{
/* stat: is the nonterminal for Fortran statements */
! lastwasbranch = NO; } break;
case 5:
! /* # line 232 "gram.in" */
{ /* forbid further statement function definitions... */
if (parstate == INDATA && laststfcn != thisstno)
parstate = INEXEC;
thisstno++;
! if(yypvt[-1].labval && (yypvt[-1].labval->labelno==dorange))
! enddo(yypvt[-1].labval->labelno);
if(lastwasbranch && thislabel==NULL)
warn("statement cannot be reached");
lastwasbranch = thiswasbranch;
thiswasbranch = NO;
! if(yypvt[-1].labval)
{
! if(yypvt[-1].labval->labtype == LABFORMAT)
err("label already that of a format");
else
! yypvt[-1].labval->labtype = LABEXEC;
}
freetemps();
! } break;
case 6:
! /* # line 252 "gram.in" */
{ if (can_include)
! doinclude( yypvt[-0].charpval );
else {
! fprintf(diagfile, "Cannot open file %s\n", yypvt[-0].charpval);
done(1);
}
! } break;
case 7:
! /* # line 260 "gram.in" */
! { if (yypvt[-2].labval)
lastwasbranch = NO;
endproc(); /* lastwasbranch = NO; -- set in endproc() */
! } break;
case 8:
! /* # line 265 "gram.in" */
{ extern void unclassifiable();
unclassifiable();
/* flline flushes the current line, ignoring the rest of the text there */
! flline(); } break;
case 9:
! /* # line 272 "gram.in" */
{ flline(); needkwd = NO; inioctl = NO;
! yyerrok; yyclearin; } break;
case 10:
! /* # line 277 "gram.in" */
{
if(yystno != 0)
{
--- 170,1454 ----
struct Eqvchain *eqvval;
Extsym *extval;
} YYSTYPE;
!
! #ifndef YYLTYPE
! typedef
! struct yyltype
! {
! int timestamp;
! int first_line;
! int first_column;
! int last_line;
! int last_column;
! char *text;
! }
! yyltype;
!
! #define YYLTYPE yyltype
! #endif
!
! #include <stdio.h>
!
! #ifndef __cplusplus
! #ifndef __STDC__
! #define const
! #endif
! #endif
!
!
!
! #define YYFINAL 542
! #define YYFLAG -32768
! #define YYNTBASE 102
!
! #define YYTRANSLATE(x) ((unsigned)(x) <= 257 ? yytranslate[x] : 217)
!
! static const char yytranslate[] = { 0,
! 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
! 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
! 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
! 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
! 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
! 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
! 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
! 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
! 93, 94, 95, 96, 97, 98, 99, 100, 101, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 1, 2
! };
!
! #if YYDEBUG != 0
! static const short yyprhs[] = { 0,
! 0, 1, 5, 8, 11, 14, 18, 22, 25, 27,
! 29, 33, 38, 42, 47, 52, 58, 62, 63, 65,
! 67, 68, 70, 73, 77, 79, 83, 85, 89, 90,
! 93, 97, 99, 103, 105, 107, 109, 111, 113, 115,
! 117, 119, 121, 123, 125, 127, 130, 132, 138, 146,
! 152, 158, 159, 162, 164, 166, 168, 170, 172, 174,
! 176, 178, 180, 182, 184, 186, 187, 192, 199, 203,
! 208, 214, 218, 220, 224, 228, 232, 236, 240, 244,
! 248, 252, 254, 258, 262, 266, 267, 274, 275, 276,
! 277, 280, 284, 286, 290, 292, 295, 297, 299, 303,
! 305, 307, 309, 313, 317, 320, 322, 328, 330, 334,
! 335, 339, 340, 343, 347, 349, 353, 355, 357, 359,
! 363, 365, 369, 373, 378, 380, 381, 384, 386, 390,
! 392, 396, 398, 400, 403, 408, 410, 414, 415, 416,
! 418, 420, 424, 426, 430, 432, 434, 436, 440, 444,
! 448, 452, 455, 459, 463, 467, 471, 475, 478, 482,
! 484, 486, 488, 490, 492, 494, 496, 498, 500, 503,
! 508, 514, 520, 521, 523, 525, 527, 529, 531, 533,
! 535, 537, 539, 541, 547, 549, 551, 553, 555, 559,
! 561, 563, 567, 571, 575, 579, 582, 586, 588, 596,
! 601, 603, 606, 609, 616, 619, 622, 628, 632, 634,
! 639, 644, 650, 653, 655, 657, 668, 670, 674, 679,
! 683, 687, 689, 691, 695, 699, 707, 715, 716, 718,
! 722, 724, 728, 730, 733, 735, 737, 739, 743, 744,
! 745, 746, 748, 751, 754, 757, 760, 763, 766, 769,
! 773, 778, 783, 786, 790, 792, 796, 800, 802, 804,
! 806, 810, 812, 814, 816, 818, 820, 824, 828, 830,
! 834, 836, 838, 840, 843, 846, 849, 851, 855, 859,
! 864, 869, 871, 875, 877, 883, 885, 887, 889, 893,
! 897, 901, 905, 909, 913, 915, 919, 925, 931, 937
! };
!
! static const short yyrhs[] = { -1,
! 102, 103, 3, 0, 104, 105, 0, 104, 117, 0,
! 104, 180, 0, 104, 20, 116, 0, 104, 39, 194,
! 0, 104, 6, 0, 1, 0, 5, 0, 62, 106,
! 109, 0, 62, 106, 109, 110, 0, 25, 106, 109,
! 0, 71, 106, 107, 113, 0, 46, 106, 107, 113,
! 0, 120, 46, 106, 107, 113, 0, 42, 107, 113,
! 0, 0, 108, 0, 16, 0, 0, 107, 0, 76,
! 77, 0, 76, 111, 77, 0, 112, 0, 111, 80,
! 112, 0, 16, 0, 16, 78, 16, 0, 0, 76,
! 77, 0, 76, 114, 77, 0, 115, 0, 114, 80,
! 115, 0, 108, 0, 84, 0, 7, 0, 118, 0,
! 124, 0, 126, 0, 127, 0, 128, 0, 131, 0,
! 154, 0, 161, 0, 68, 0, 68, 140, 0, 45,
! 0, 59, 164, 76, 142, 77, 0, 120, 188, 108,
! 164, 119, 147, 123, 0, 118, 80, 108, 147, 123,
! 0, 118, 101, 134, 136, 101, 0, 0, 121, 123,
! 0, 122, 0, 54, 0, 65, 0, 30, 0, 36,
! 0, 33, 0, 56, 0, 27, 0, 74, 0, 34,
! 0, 23, 0, 69, 0, 0, 84, 195, 167, 196,
! 0, 84, 195, 76, 84, 77, 196, 0, 29, 164,
! 144, 0, 29, 164, 125, 144, 0, 124, 188, 125,
! 188, 144, 0, 124, 80, 144, 0, 87, 0, 85,
! 16, 85, 0, 44, 164, 108, 0, 126, 80, 108,
! 0, 55, 164, 108, 0, 127, 80, 108, 0, 43,
! 164, 129, 0, 128, 80, 129, 0, 76, 130, 77,
! 0, 171, 0, 130, 80, 171, 0, 32, 132, 133,
! 0, 131, 188, 133, 0, 0, 134, 146, 85, 135,
! 136, 85, 0, 0, 0, 0, 137, 138, 0, 136,
! 80, 138, 0, 139, 0, 174, 84, 139, 0, 174,
! 0, 169, 174, 0, 176, 0, 141, 0, 140, 80,
! 141, 0, 108, 0, 125, 0, 143, 0, 142, 80,
! 143, 0, 108, 78, 167, 0, 108, 147, 0, 171,
! 0, 76, 146, 80, 182, 77, 0, 145, 0, 146,
! 80, 145, 0, 0, 76, 148, 77, 0, 0, 149,
! 150, 0, 148, 80, 150, 0, 151, 0, 167, 79,
! 151, 0, 84, 0, 167, 0, 153, 0, 152, 80,
! 153, 0, 8, 0, 52, 164, 155, 0, 154, 80,
! 155, 0, 156, 76, 158, 77, 0, 156, 0, 0,
! 157, 120, 0, 159, 0, 158, 80, 159, 0, 160,
! 0, 160, 83, 160, 0, 16, 0, 57, 0, 161,
! 162, 0, 85, 108, 85, 163, 0, 108, 0, 163,
! 80, 108, 0, 0, 0, 166, 0, 167, 0, 166,
! 80, 167, 0, 168, 0, 76, 167, 77, 0, 176,
! 0, 171, 0, 175, 0, 167, 169, 167, 0, 167,
! 84, 167, 0, 167, 85, 167, 0, 167, 86, 167,
! 0, 169, 167, 0, 167, 170, 167, 0, 167, 91,
! 167, 0, 167, 90, 167, 0, 167, 89, 167, 0,
! 167, 88, 167, 0, 92, 167, 0, 167, 87, 167,
! 0, 82, 0, 83, 0, 93, 0, 95, 0, 94,
! 0, 97, 0, 96, 0, 98, 0, 108, 0, 108,
! 172, 0, 108, 76, 165, 77, 0, 108, 76, 165,
! 77, 172, 0, 76, 173, 79, 173, 77, 0, 0,
! 167, 0, 108, 0, 175, 0, 14, 0, 15, 0,
! 7, 0, 8, 0, 9, 0, 10, 0, 177, 0,
! 76, 168, 80, 168, 77, 0, 13, 0, 12, 0,
! 11, 0, 179, 0, 76, 178, 77, 0, 171, 0,
! 175, 0, 178, 169, 178, 0, 178, 84, 178, 0,
! 178, 85, 178, 0, 178, 86, 178, 0, 169, 178,
! 0, 178, 87, 178, 0, 184, 0, 35, 194, 195,
! 153, 196, 188, 183, 0, 35, 194, 188, 183, 0,
! 99, 0, 181, 184, 0, 181, 72, 0, 38, 194,
! 76, 167, 77, 72, 0, 37, 194, 0, 41, 194,
! 0, 51, 194, 76, 167, 77, 0, 108, 78, 193,
! 0, 182, 0, 100, 76, 167, 77, 0, 186, 171,
! 78, 167, 0, 22, 194, 185, 73, 108, 0, 31,
! 194, 0, 187, 0, 197, 0, 50, 194, 76, 167,
! 77, 153, 80, 153, 80, 153, 0, 189, 0, 189,
! 76, 77, 0, 189, 76, 190, 77, 0, 66, 194,
! 173, 0, 192, 194, 173, 0, 8, 0, 21, 0,
! 47, 194, 153, 0, 48, 194, 108, 0, 48, 194,
! 108, 188, 76, 152, 77, 0, 49, 194, 76, 152,
! 77, 188, 167, 0, 0, 80, 0, 26, 194, 108,
! 0, 191, 0, 190, 80, 191, 0, 167, 0, 84,
! 153, 0, 60, 0, 70, 0, 167, 0, 193, 80,
! 167, 0, 0, 0, 0, 198, 0, 199, 204, 0,
! 199, 179, 0, 199, 84, 0, 199, 86, 0, 201,
! 204, 0, 208, 204, 0, 208, 203, 0, 208, 204,
! 211, 0, 208, 203, 80, 211, 0, 208, 204, 80,
! 211, 0, 209, 204, 0, 209, 204, 213, 0, 210,
! 0, 210, 80, 213, 0, 200, 194, 216, 0, 24,
! 0, 67, 0, 40, 0, 202, 194, 216, 0, 53,
! 0, 58, 0, 28, 0, 179, 0, 84, 0, 76,
! 178, 77, 0, 76, 205, 77, 0, 206, 0, 205,
! 80, 206, 0, 178, 0, 84, 0, 86, 0, 207,
! 167, 0, 207, 84, 0, 207, 86, 0, 17, 0,
! 64, 194, 216, 0, 75, 194, 216, 0, 61, 194,
! 178, 216, 0, 61, 194, 84, 216, 0, 212, 0,
! 211, 80, 212, 0, 171, 0, 76, 211, 80, 182,
! 77, 0, 168, 0, 215, 0, 214, 0, 168, 80,
! 168, 0, 168, 80, 215, 0, 215, 80, 168, 0,
! 215, 80, 215, 0, 214, 80, 168, 0, 214, 80,
! 215, 0, 176, 0, 76, 167, 77, 0, 76, 168,
! 80, 182, 77, 0, 76, 215, 80, 182, 77, 0,
! 76, 214, 80, 182, 77, 0, 0
! };
!
! #endif
!
! #if YYDEBUG != 0
! static const short yyrline[] = { 0,
! 221, 222, 225, 230, 231, 251, 259, 264, 271, 276,
! 304, 306, 310, 313, 315, 317, 319, 327, 331, 335,
! 339, 340, 343, 345, 348, 349, 352, 353, 356, 358,
! 361, 365, 367, 371, 376, 392, 400, 401, 402, 403,
! 404, 405, 406, 407, 408, 411, 413, 415, 419, 423,
! 427, 435, 437, 441, 447, 448, 449, 450, 451, 452,
! 453, 454, 455, 456, 457, 460, 462, 488, 492, 494,
! 496, 498, 502, 504, 508, 510, 514, 516, 520, 521,
! 524, 537, 541, 548, 549, 552, 567, 576, 578, 580,
! 581, 581, 584, 586, 590, 591, 596, 599, 600, 603,
! 610, 613, 614, 617, 624, 628, 640, 656, 662, 666,
! 668, 671, 672, 672, 675, 685, 697, 699, 702, 704,
! 708, 712, 714, 717, 718, 724, 726, 728, 729, 732,
! 734, 738, 748, 749, 752, 766, 768, 772, 794, 796,
! 800, 802, 807, 808, 810, 813, 814, 815, 817, 819,
! 821, 823, 828, 830, 833, 836, 838, 840, 842, 847,
! 848, 851, 852, 853, 854, 855, 856, 859, 861, 864,
! 866, 871, 875, 877, 880, 885, 888, 889, 890, 891,
! 892, 893, 894, 897, 901, 904, 907, 912, 913, 917,
! 918, 919, 921, 923, 925, 927, 932, 936, 937, 944,
! 949, 951, 953, 954, 956, 958, 962, 966, 970, 971,
! 975, 977, 979, 980, 981, 983, 985, 987, 989, 995,
! 997, 1001, 1005, 1014, 1016, 1018, 1020, 1028, 1029, 1032,
! 1036, 1038, 1042, 1043, 1047, 1049, 1053, 1055, 1059, 1072,
! 1076, 1081, 1085, 1086, 1088, 1090, 1092, 1093, 1095, 1097,
! 1099, 1101, 1103, 1105, 1107, 1109, 1113, 1116, 1118, 1120,
! 1124, 1127, 1129, 1131, 1135, 1141, 1149, 1154, 1158, 1159,
! 1162, 1164, 1166, 1168, 1170, 1172, 1176, 1180, 1184, 1188,
! 1195, 1204, 1206, 1210, 1212, 1216, 1218, 1220, 1223, 1225,
! 1227, 1229, 1231, 1233, 1237, 1239, 1241, 1243, 1245, 1249
! };
!
! static const char * const yytname[] = { "$","error","$illegal.","SEOS","SCOMMENT",
! "SLABEL","SUNKNOWN","SHOLLERITH","SICON","SRCON","SDCON","SBITCON","SOCTCON",
! "SHEXCON","STRUE","SFALSE","SNAME","SNAMEEQ","SFIELD","SSCALE","SINCLUDE","SLET",
! "SASSIGN","SAUTOMATIC","SBACKSPACE","SBLOCK","SCALL","SCHARACTER","SCLOSE","SCOMMON",
! "SCOMPLEX","SCONTINUE","SDATA","SDCOMPLEX","SDIMENSION","SDO","SDOUBLE","SELSE",
! "SELSEIF","SEND","SENDFILE","SENDIF","SENTRY","SEQUIV","SEXTERNAL","SFORMAT",
! "SFUNCTION","SGOTO","SASGOTO","SCOMPGOTO","SARITHIF","SLOGIF","SIMPLICIT","SINQUIRE",
! "SINTEGER","SINTRINSIC","SLOGICAL","SNAMELIST","SOPEN","SPARAM","SPAUSE","SPRINT",
! "SPROGRAM","SPUNCH","SREAD","SREAL","SRETURN","SREWIND","SSAVE","SSTATIC","SSTOP",
! "SSUBROUTINE","STHEN","STO","SUNDEFINED","SWRITE","SLPAR","SRPAR","SEQUALS",
! "SCOLON","SCOMMA","SCURRENCY","SPLUS","SMINUS","SSTAR","SSLASH","SPOWER","SCONCAT",
! "SAND","SOR","SNEQV","SEQV","SNOT","SEQ","SLT","SGT","SLE","SGE","SNE","SENDDO",
! "SWHILE","SSLASHD","program","stat","thislabel","entry","new_proc","entryname",
! "name","progname","progarglist","progargs","progarg","arglist","args","arg",
! "filename","spec","dcl","new_dcl","type","typespec","typename","lengspec","common",
! "comblock","external","intrinsic","equivalence","equivset","equivlist","data",
! "in_data","datalist","datainit","datapop","vallist","@1","val","value","savelist",
! "saveitem","paramlist","paramitem","var","datavar","datavarlist","dims","dimlist",
! "@2","dim","ubound","labellist","label","implicit","implist","imptype","@3",
! "letgroups","letgroup","letter","namelist","namelistentry","namelistlist","in_dcl",
! "funarglist","funargs","expr","uexpr","addop","relop","lhs","substring","opt_expr",
! "simple","simple_const","complex_const","bit_const","fexpr","unpar_fexpr","exec",
! "logif","dospec","dospecw","iffable","assignlabel","let","goto","opt_comma",
! "call","callarglist","callarg","stop","exprlist","end_spec","intonlyon","intonlyoff",
! "io","io1","iofmove","fmkwd","iofctl","ctlkwd","infmt","ioctl","ctllist","ioclause",
! "nameeq","read","write","print","inlist","inelt","outlist","out2","other","in_ioctl",
! ""
! };
! #endif
!
! static const short yyr1[] = { 0,
! 102, 102, 103, 103, 103, 103, 103, 103, 103, 104,
! 105, 105, 105, 105, 105, 105, 105, 106, 107, 108,
! 109, 109, 110, 110, 111, 111, 112, 112, 113, 113,
! 113, 114, 114, 115, 115, 116, 117, 117, 117, 117,
! 117, 117, 117, 117, 117, 117, 117, 117, 118, 118,
! 118, 119, 120, 121, 122, 122, 122, 122, 122, 122,
! 122, 122, 122, 122, 122, 123, 123, 123, 124, 124,
! 124, 124, 125, 125, 126, 126, 127, 127, 128, 128,
! 129, 130, 130, 131, 131, 132, 133, 134, 135, 137,
! 136, 136, 138, 138, 139, 139, 139, 140, 140, 141,
! 141, 142, 142, 143, 144, 145, 145, 146, 146, 147,
! 147, 149, 148, 148, 150, 150, 151, 151, 152, 152,
! 153, 154, 154, 155, 155, 157, 156, 158, 158, 159,
! 159, 160, 161, 161, 162, 163, 163, 164, 165, 165,
! 166, 166, 167, 167, 167, 168, 168, 168, 168, 168,
! 168, 168, 168, 168, 168, 168, 168, 168, 168, 169,
! 169, 170, 170, 170, 170, 170, 170, 171, 171, 171,
! 171, 172, 173, 173, 174, 174, 175, 175, 175, 175,
! 175, 175, 175, 176, 177, 177, 177, 178, 178, 179,
! 179, 179, 179, 179, 179, 179, 179, 180, 180, 180,
! 180, 180, 180, 180, 180, 180, 181, 182, 183, 183,
! 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
! 184, 185, 186, 187, 187, 187, 187, 188, 188, 189,
! 190, 190, 191, 191, 192, 192, 193, 193, 194, 195,
! 196, 197, 198, 198, 198, 198, 198, 198, 198, 198,
! 198, 198, 198, 198, 198, 198, 199, 200, 200, 200,
! 201, 202, 202, 202, 203, 203, 204, 204, 205, 205,
! 206, 206, 206, 206, 206, 206, 207, 208, 209, 210,
! 210, 211, 211, 212, 212, 213, 213, 213, 214, 214,
! 214, 214, 214, 214, 215, 215, 215, 215, 215, 216
! };
!
! static const short yyr2[] = { 0,
! 0, 3, 2, 2, 2, 3, 3, 2, 1, 1,
! 3, 4, 3, 4, 4, 5, 3, 0, 1, 1,
! 0, 1, 2, 3, 1, 3, 1, 3, 0, 2,
! 3, 1, 3, 1, 1, 1, 1, 1, 1, 1,
! 1, 1, 1, 1, 1, 2, 1, 5, 7, 5,
! 5, 0, 2, 1, 1, 1, 1, 1, 1, 1,
! 1, 1, 1, 1, 1, 0, 4, 6, 3, 4,
! 5, 3, 1, 3, 3, 3, 3, 3, 3, 3,
! 3, 1, 3, 3, 3, 0, 6, 0, 0, 0,
! 2, 3, 1, 3, 1, 2, 1, 1, 3, 1,
! 1, 1, 3, 3, 2, 1, 5, 1, 3, 0,
! 3, 0, 2, 3, 1, 3, 1, 1, 1, 3,
! 1, 3, 3, 4, 1, 0, 2, 1, 3, 1,
! 3, 1, 1, 2, 4, 1, 3, 0, 0, 1,
! 1, 3, 1, 3, 1, 1, 1, 3, 3, 3,
! 3, 2, 3, 3, 3, 3, 3, 2, 3, 1,
! 1, 1, 1, 1, 1, 1, 1, 1, 2, 4,
! 5, 5, 0, 1, 1, 1, 1, 1, 1, 1,
! 1, 1, 1, 5, 1, 1, 1, 1, 3, 1,
! 1, 3, 3, 3, 3, 2, 3, 1, 7, 4,
! 1, 2, 2, 6, 2, 2, 5, 3, 1, 4,
! 4, 5, 2, 1, 1, 10, 1, 3, 4, 3,
! 3, 1, 1, 3, 3, 7, 7, 0, 1, 3,
! 1, 3, 1, 2, 1, 1, 1, 3, 0, 0,
! 0, 1, 2, 2, 2, 2, 2, 2, 2, 3,
! 4, 4, 2, 3, 1, 3, 3, 1, 1, 1,
! 3, 1, 1, 1, 1, 1, 3, 3, 1, 3,
! 1, 1, 1, 2, 2, 2, 1, 3, 3, 4,
! 4, 1, 3, 1, 5, 1, 1, 1, 3, 3,
! 3, 3, 3, 3, 1, 3, 5, 5, 5, 0
! };
!
! static const short yydefact[] = { 1,
! 0, 9, 10, 0, 0, 2, 8, 0, 223, 239,
! 64, 258, 18, 239, 61, 264, 138, 57, 239, 86,
! 59, 63, 239, 58, 239, 239, 239, 260, 239, 0,
! 138, 138, 47, 18, 239, 239, 239, 239, 239, 138,
! 262, 55, 138, 60, 133, 263, 138, 235, 239, 18,
! 239, 56, 239, 259, 45, 65, 236, 18, 62, 239,
! 201, 3, 4, 37, 228, 66, 54, 228, 39, 40,
! 41, 228, 43, 44, 5, 0, 198, 0, 214, 217,
! 239, 215, 242, 0, 239, 0, 239, 0, 0, 255,
! 36, 6, 0, 21, 0, 0, 213, 88, 228, 205,
! 0, 7, 206, 20, 29, 19, 0, 0, 0, 0,
! 0, 0, 0, 0, 126, 0, 0, 0, 21, 300,
! 173, 0, 73, 100, 101, 46, 98, 0, 300, 0,
! 88, 18, 229, 0, 240, 53, 229, 0, 0, 0,
! 0, 88, 126, 0, 134, 203, 202, 168, 0, 0,
! 173, 179, 180, 181, 182, 187, 186, 185, 177, 178,
! 0, 160, 161, 245, 246, 0, 190, 191, 183, 0,
! 188, 243, 300, 0, 247, 300, 266, 188, 249, 248,
! 253, 0, 222, 0, 22, 13, 230, 110, 0, 69,
! 84, 0, 0, 0, 0, 0, 17, 0, 79, 75,
! 29, 121, 224, 225, 0, 0, 0, 122, 125, 0,
! 77, 0, 0, 300, 300, 188, 11, 278, 0, 0,
! 174, 143, 0, 146, 220, 147, 145, 0, 0, 29,
! 279, 110, 90, 0, 138, 0, 72, 228, 76, 78,
! 80, 85, 123, 0, 139, 169, 0, 218, 0, 233,
! 0, 231, 221, 277, 272, 273, 271, 0, 269, 0,
! 196, 0, 0, 0, 0, 0, 257, 271, 261, 0,
! 0, 0, 284, 250, 282, 0, 0, 143, 145, 254,
! 288, 287, 256, 0, 112, 105, 70, 0, 108, 0,
! 106, 0, 0, 209, 200, 241, 0, 30, 35, 34,
! 0, 32, 0, 82, 15, 0, 0, 119, 0, 0,
! 0, 127, 0, 0, 102, 0, 281, 280, 0, 12,
! 0, 143, 158, 0, 0, 0, 0, 0, 0, 0,
! 0, 162, 164, 163, 166, 165, 167, 0, 0, 152,
! 74, 99, 14, 66, 0, 0, 29, 52, 0, 241,
! 0, 0, 0, 140, 141, 0, 211, 234, 219, 0,
! 189, 268, 0, 275, 276, 274, 193, 194, 195, 197,
! 192, 267, 251, 0, 252, 0, 0, 143, 0, 0,
! 0, 0, 0, 212, 0, 0, 0, 0, 89, 0,
! 0, 228, 0, 31, 0, 81, 0, 0, 228, 0,
! 0, 207, 132, 0, 128, 130, 0, 48, 0, 189,
! 27, 23, 0, 25, 144, 0, 149, 150, 151, 159,
! 157, 156, 155, 154, 148, 153, 50, 0, 51, 0,
! 175, 91, 93, 0, 95, 176, 97, 16, 110, 0,
! 67, 71, 136, 135, 170, 0, 173, 232, 271, 270,
! 0, 283, 144, 0, 0, 0, 143, 290, 143, 294,
! 143, 292, 111, 0, 117, 113, 115, 118, 0, 109,
! 90, 0, 237, 208, 0, 204, 33, 83, 0, 0,
! 120, 0, 124, 0, 0, 104, 103, 0, 24, 0,
! 143, 92, 96, 0, 66, 241, 0, 173, 171, 142,
! 0, 168, 0, 143, 0, 0, 0, 114, 0, 0,
! 0, 210, 0, 199, 226, 227, 0, 129, 131, 28,
! 26, 184, 94, 95, 49, 68, 137, 172, 285, 297,
! 299, 298, 116, 118, 107, 87, 238, 0, 0, 216,
! 0, 0
! };
!
! static const short yydefgoto[] = { 1,
! 4, 5, 62, 94, 185, 148, 186, 320, 413, 414,
! 197, 301, 302, 92, 63, 64, 439, 65, 66, 67,
! 136, 68, 125, 69, 70, 71, 199, 303, 72, 98,
! 191, 192, 471, 345, 346, 432, 433, 126, 127, 314,
! 315, 190, 289, 290, 286, 385, 386, 466, 467, 307,
! 308, 73, 208, 209, 210, 404, 405, 406, 74, 145,
! 444, 96, 353, 354, 277, 222, 223, 339, 224, 246,
! 356, 435, 226, 227, 169, 170, 216, 75, 76, 294,
! 295, 77, 184, 78, 79, 134, 80, 251, 252, 81,
! 474, 93, 194, 392, 82, 83, 84, 85, 86, 87,
! 179, 172, 258, 259, 260, 88, 89, 90, 274, 275,
! 280, 281, 282, 218
! };
!
! static const short yypact[] = {-32768,
! 58,-32768,-32768, 15, 833,-32768,-32768, 40,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 45,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768, 52,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768, -29, 2, -22,-32768, 11, -25, 47,
! 93, 13, 110, 3,-32768, 1083,-32768, 45,-32768, 105,
! -32768,-32768,-32768, 948,-32768, 115,-32768, 959, 115, 122,
! -32768,-32768, 200, 45, 45, 52,-32768,-32768, 44,-32768,
! 148,-32768,-32768,-32768, 149,-32768, 161, 45, 45, 241,
! 45, 175, 186, 212,-32768, 45, 217, 1037, 45,-32768,
! 743, 239,-32768,-32768,-32768, 209,-32768, 45,-32768, 45,
! -32768,-32768,-32768, 45,-32768,-32768, 45, 56, 45, 45,
! 161,-32768,-32768, 45,-32768,-32768,-32768, 219, 222, 473,
! 743,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 937,-32768,-32768,-32768,-32768, 220,-32768,-32768,-32768, 333,
! 306,-32768,-32768, 937,-32768,-32768,-32768, 23, 227, 7,
! 902, 902,-32768, 237,-32768,-32768,-32768, 235, 45,-32768,
! -32768, 8, -1, 241, 743, 51,-32768, 45,-32768,-32768,
! 149,-32768,-32768, 78, 241, 743, 743,-32768, 244, 304,
! -32768, 45, 220,-32768, 333,-32768, 247,-32768, 743, 743,
! 1244,-32768, 743,-32768,-32768,-32768,-32768, 228, 52, 149,
! -32768, 235,-32768, 45,-32768, 926,-32768, 245,-32768,-32768,
! -32768,-32768,-32768, 243, 590,-32768, 743,-32768, 241, 1244,
! 94,-32768,-32768,-32768,-32768,-32768, 101, 100,-32768, 486,
! 231, 220, 220, 220, 220, 220,-32768, 191,-32768, 60,
! 60, 60,-32768, 249,-32768, 902, 1244, 35, 37,-32768,
! 252, 255,-32768, 45,-32768,-32768,-32768, 8,-32768, -5,
! -32768, 260, 261,-32768,-32768,-32768, 1077,-32768,-32768,-32768,
! 112,-32768, 121,-32768,-32768, 266, 123,-32768, 1099, 1121,
! 330,-32768, 269, 173,-32768, 308,-32768,-32768, 53,-32768,
! 1143, 281, 1002, 743, 743, 743, 743, 743, 743, 743,
! 743,-32768,-32768,-32768,-32768,-32768,-32768, 743, 743, 276,
! -32768,-32768,-32768, -22, -24, 232, 149,-32768, 685, 1244,
! 45, 45, 286, 287, 1207, 285, 1244,-32768,-32768, 696,
! 14,-32768, 937,-32768,-32768, 1244, 231, 231, 231, 66,
! 130,-32768, 249, 290, 249, 60, 1165, 291, 292, 294,
! 902, 902, 902,-32768, 179, 725, 295, 8,-32768, 743,
! 743, 245, 305,-32768, 28,-32768, 45, 241, 245, 241,
! 241,-32768,-32768, 183,-32768, 283, 743,-32768, 45,-32768,
! 298,-32768, 187,-32768,-32768, 743, 276, 276, 276, 197,
! 1002, 1278, 1261, 1261, 213, 1295,-32768, 232,-32768, 743,
! -32768,-32768,-32768, 462, 296,-32768,-32768,-32768, 235, 307,
! -32768,-32768,-32768, 301, 310, 743, 743,-32768, 333,-32768,
! 60,-32768, 38, 902, 902, 902, 39,-32768, 42,-32768,
! 43,-32768,-32768, 725,-32768,-32768,-32768, 1227, 8,-32768,
! -32768, 1187, 1244, 302, -1,-32768,-32768,-32768, 189, 743,
! -32768, 316,-32768, 330, 330, 1244,-32768, 371,-32768, 381,
! 322,-32768,-32768, 232, -22,-32768, 45, 743,-32768, 1244,
! 325, 86, 326, 210, 329, 332, 334,-32768, 725, 336,
! 46,-32768, 743,-32768,-32768, 1244, 241,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768, 1244,-32768,-32768, 1244, 342, 241,-32768,
! 410,-32768
! };
!
! static const short yypgoto[] = {-32768,
! -32768,-32768,-32768, -21, -8, -30, 309,-32768,-32768, -67,
! -194,-32768, 32,-32768,-32768,-32768,-32768, 223,-32768,-32768,
! -339,-32768, -64,-32768,-32768,-32768, 288,-32768,-32768,-32768,
! 300, 312,-32768, -39,-32768, 10, -58,-32768, 211,-32768,
! 41, -129, -367, 156, -229,-32768,-32768, -17, -57, 55,
! -109,-32768, 313,-32768,-32768,-32768, -33, -20,-32768,-32768,
! -32768, -12,-32768,-32768, 284, -111, 91,-32768, 455, 18,
! -117, -381, -45, -170,-32768, -69, 73,-32768,-32768, -309,
! -9, 379,-32768,-32768,-32768, -66,-32768,-32768, 132,-32768,
! -32768, 1041, 370, -341,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768, 81,-32768, 143,-32768,-32768,-32768,-32768, 79, -326,
! 339, 242, -249, -119
! };
!
!
! #define YYLAST 1393
!
!
! static const short yytable[] = { 106,
! 203, 138, 344, 225, 427, 142, 305, 237, 441, 231,
! 279, 279, 109, -38, 104, -42, -267, 6, 107, 108,
! 470, 105, 104, 104, 124, -265, 380, 115, 119, -267,
! 116, 189, 193, 253, 117, 343, 128, -286, 168, -295,
! -296, -289, 168, 104, -293, -291, 91, 132, 215, 452,
! 130, -240, 493, 267, 139, 428, 269, 541, 2, 287,
! 104, 135, 3, 106, 187, 188, 104, 104, 411, 278,
! 278, 131, 168, 238, 388, 104, 429, 200, 106, 389,
! 204, 133, 271, 288, 296, 211, 272, 144, 106, -267,
! 137, 257, 133, -267, 317, 318, 261, 106, 292, 232,
! 201, 470, -265, 235, 268, 279, 188, 322, 239, 240,
! 234, 299, 524, 244, 381, 168, -295, -296, -289, 230,
! 168, -293, -291, 133, 452, 428, 140, 298, 168, 412,
! 536, 458, 460, 462, 299, 271, 122, 306, 123, 358,
! 122, 503, 123, 316, 505, 506, 507, 162, 163, 262,
! 263, 264, 438, -228, 526, 525, 171, 133, 188, 510,
! 178, 245, 293, 391, 378, 300, 175, 168, 180, 181,
! 359, 351, 141, 360, 166, 437, 362, 361, 166, 363,
! 150, 313, 162, 163, 262, 263, 264, 265, 394, 143,
! 174, 395, 367, 368, 369, 370, 371, 396, 124, 399,
! 397, 182, 400, 106, 458, 460, 462, 183, 166, 495,
! 279, 279, 279, 262, 263, 264, 168, 168, 168, 168,
! 168, 442, 348, 195, 196, 347, 152, 153, 154, 155,
! 156, 157, 158, 159, 160, 104, 198, 322, 152, 153,
! 154, 155, 156, 157, 158, 159, 160, 104, 202, 408,
! 205, 166, 409, 384, 228, 463, 166, 437, 464, 483,
! 266, 206, 484, 489, 166, 515, 490, 372, 400, 457,
! 459, 461, 162, 163, 262, 263, 264, 265, 162, 163,
! 324, 325, 326, 279, 279, 279, 522, 207, 229, -289,
! 481, 482, 212, 449, 245, 213, 324, 325, 326, 247,
! 436, 162, 163, 166, 491, 266, 270, 430, -244, 284,
! 285, 338, 341, 162, 163, 431, 264, 168, 322, 311,
! 188, 443, 319, 437, 133, 475, 11, 352, 376, 501,
! 15, 382, 480, 18, 383, 390, 21, 22, 391, 24,
! 338, 398, 504, 459, 461, 403, 407, 266, 373, 374,
! 375, 266, 166, 166, 166, 166, 166, 42, 266, 44,
! 416, 326, 445, 447, 300, 485, 446, 338, 52, 451,
! 454, 455, 56, 456, 469, 488, 476, 59, 313, 494,
! 497, 513, 436, 496, 410, 498, 520, 338, 436, 162,
! 163, 262, 263, 264, 265, 517, 411, 431, 522, 338,
! 338, 528, 529, 431, 221, 530, 266, 538, 531, 542,
! 532, 338, 535, 338, 162, 163, 262, 263, 264, 265,
! 502, 539, 521, 502, 502, 502, 477, 217, 241, 540,
! 338, 511, 312, 250, 221, 523, 434, 492, 502, 342,
! 338, 242, 233, 387, 293, 338, 508, 338, 436, 487,
! 518, 533, 479, 166, 147, 243, 338, 266, 266, 266,
! 266, 266, 499, 431, 519, 514, 527, 338, 152, 153,
! 154, 155, 156, 157, 158, 159, 160, 104, 297, 152,
! 153, 154, 155, 156, 157, 158, 159, 160, 104, 309,
! 310, 448, 152, 153, 154, 155, 156, 157, 158, 159,
! 160, 104, 321, 323, 236, 450, 340, 338, 338, 338,
! 338, 338, 338, 338, 338, 338, 338, 379, 434, 350,
! 283, 0, 0, 0, 0, 0, 0, 0, 355, 0,
! 357, 0, 149, 0, 0, 0, 0, 0, 167, 266,
! 0, 0, 167, 366, 0, 0, 0, 0, 219, 248,
! 0, 0, 0, 0, 162, 163, 249, 0, 338, 377,
! 0, 219, 338, 338, 220, 0, 0, 162, 163, 364,
! 0, 365, 167, 0, 0, 0, 338, 220, 0, 0,
! 0, 0, 0, 0, 434, 0, 0, 0, 0, 0,
! 338, 0, 0, 0, 0, 0, 152, 153, 154, 155,
! 156, 157, 158, 159, 160, 104, 338, 417, 418, 419,
! 420, 421, 422, 423, 424, 167, 0, 0, 0, 0,
! 167, 425, 426, 0, 338, 0, 0, 338, 167, 0,
! 0, 0, 321, 0, 273, 0, 0, 0, 0, 0,
! 0, 0, 0, 250, 0, 0, 291, 0, 0, 0,
! 0, 0, 304, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 219, 0, 167, -173, 468,
! 0, 162, 163, 472, 473, 0, 0, 0, 0, 0,
! 0, 220, 0, 0, 0, 0, 0, 0, 0, 0,
! 486, 152, 153, 154, 155, 156, 157, 158, 159, 160,
! 104, 0, 152, 153, 154, 155, 156, 157, 158, 159,
! 160, 104, 0, 0, 0, 0, 167, 167, 167, 167,
! 167, 0, 0, 0, 273, 273, 273, 0, 0, 500,
! 221, 152, 153, 154, 155, 156, 157, 158, 159, 160,
! 104, 0, 291, 0, 0, 0, 0, 468, 0, 152,
! 153, 154, 155, 156, 157, 158, 159, 160, 104, 0,
! 219, 0, 0, 516, 0, 0, 162, 163, 440, 0,
! 0, 219, 0, 0, 0, 0, 220, 162, 163, 249,
! 0, 221, 0, 0, 0, 0, 0, 220, 0, 0,
! 0, 0, 534, 0, 0, 0, 537, 0, 0, 0,
! 219, 0, 0, 0, 0, 0, 162, 163, 465, 0,
! 0, 0, 0, 0, 0, 0, 220, 167, 219, 0,
! 0, 0, 0, 0, 162, 163, 0, 0, 0, 0,
! 273, 0, 0, 0, 220, 0, 0, 0, 7, 0,
! 0, 0, 291, 0, 0, 0, 0, 0, 0, 0,
! 0, 478, 8, 9, 10, 11, 12, 13, 14, 15,
! 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
! 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
! 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
! 46, 47, 48, 49, 50, 0, 51, 52, 53, 54,
! 55, 56, 57, 58, 0, 273, 59, 60, 152, 153,
! 154, 155, 156, 157, 158, 159, 160, 104, 0, 0,
! 0, 0, 0, 291, 0, 0, 0, 0, 0, 0,
! 0, 61, 152, 153, 154, 155, 156, 157, 158, 159,
! 160, 104, 0, 152, 153, 154, 155, 156, 157, 158,
! 159, 160, 104, 254, 152, 153, 154, 155, 156, 157,
! 158, 159, 160, 104, 0, 152, 153, 154, 155, 156,
! 157, 158, 159, 160, 104, 0, 0, 276, 0, 0,
! 0, 0, 0, 162, 163, 0, 0, 0, 0, 0,
! 0, 0, 0, 220, 0, 0, 0, 0, 0, 0,
! 0, 349, 0, 0, 0, 0, 0, 162, 163, 0,
! 0, 0, 213, 0, 0, 0, 0, 220, 162, 163,
! 255, 0, 256, 161, 0, 0, 0, 0, 0, 162,
! 163, 164, 0, 165, 161, 0, 0, 0, 0, 0,
! 162, 163, 177, 152, 153, 154, 155, 156, 157, 158,
! 159, 160, 104, 0, 95, 0, 0, 0, 0, 97,
! 0, 0, 0, 99, 0, 100, 101, 102, 0, 103,
! 0, 0, 0, 0, 0, 110, 111, 112, 113, 114,
! 0, 0, 0, 162, 163, 324, 325, 326, 327, 118,
! 0, 120, 0, 121, 332, 333, 334, 335, 336, 337,
! 129, 0, 0, 9, 10, 0, 12, 0, 14, 0,
! 16, 0, 213, 19, 0, 0, 0, 0, 162, 163,
! 214, 151, 28, 0, 0, 173, 0, 176, 0, 35,
! 36, 37, 38, 0, 0, 41, 0, 0, 0, 0,
! 46, 0, 48, 49, 0, 0, 51, 0, 53, 54,
! 0, 0, 57, 393, 146, 0, 0, 60, 162, 163,
! 324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
! 333, 334, 335, 336, 337, 401, 0, 0, 0, 0,
! 162, 163, 324, 325, 326, 327, 328, 329, 330, 331,
! 0, 332, 333, 334, 335, 336, 337, 402, 0, 0,
! 0, 0, 162, 163, 324, 325, 326, 327, 328, 329,
! 330, 331, 0, 332, 333, 334, 335, 336, 337, 415,
! 0, 0, 0, 0, 162, 163, 324, 325, 326, 327,
! 328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
! 337, 453, 0, 0, 0, 0, 162, 163, 324, 325,
! 326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
! 335, 336, 337, 512, 0, 0, 0, 0, 162, 163,
! 324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
! 333, 334, 335, 336, 337, -174, 0, 0, 162, 163,
! 324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
! 333, 334, 335, 336, 337, 509, 0, 0, 162, 163,
! 324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
! 333, 334, 335, 336, 337, 162, 163, 324, 325, 326,
! 327, 328, 329, 330, 331, 0, 332, 333, 334, 335,
! 336, 337, 162, 163, 324, 325, 326, 327, 328, 329,
! 0, 0, 0, 332, 333, 334, 335, 336, 337, 162,
! 163, 324, 325, 326, 327, 328, 0, 0, 0, 0,
! 332, 333, 334, 335, 336, 337, 162, 163, 324, 325,
! 326, 327, 0, 0, 0, 0, 0,-32768,-32768,-32768,
! -32768,-32768,-32768
! };
!
! static const short yycheck[] = { 30,
! 110, 68, 232, 121, 344, 72, 201, 137, 350, 129,
! 181, 182, 34, 3, 16, 3, 3, 3, 31, 32,
! 388, 30, 16, 16, 55, 3, 276, 40, 50, 16,
! 43, 96, 99, 151, 47, 230, 58, 3, 84, 3,
! 3, 3, 88, 16, 3, 3, 7, 46, 118, 376,
! 80, 8, 434, 173, 80, 80, 176, 0, 1, 189,
! 16, 84, 5, 94, 95, 96, 16, 16, 16, 181,
! 182, 101, 118, 138, 80, 16, 101, 108, 109, 85,
! 111, 80, 76, 76, 194, 116, 80, 85, 119, 76,
! 80, 161, 80, 80, 214, 215, 166, 128, 100, 130,
! 109, 469, 80, 134, 174, 276, 137, 219, 139, 140,
! 132, 84, 494, 144, 80, 161, 80, 80, 80, 128,
! 166, 80, 80, 80, 451, 80, 80, 77, 174, 77,
! 85, 381, 382, 383, 84, 76, 85, 204, 87, 249,
! 85, 451, 87, 213, 454, 455, 456, 82, 83, 84,
! 85, 86, 347, 76, 496, 495, 84, 80, 189, 469,
! 88, 76, 193, 78, 276, 196, 86, 213, 88, 89,
! 77, 238, 80, 80, 84, 346, 77, 77, 88, 80,
! 76, 212, 82, 83, 84, 85, 86, 87, 77, 80,
! 76, 80, 262, 263, 264, 265, 266, 77, 229, 77,
! 80, 80, 80, 234, 454, 455, 456, 8, 118, 439,
! 381, 382, 383, 84, 85, 86, 262, 263, 264, 265,
! 266, 351, 235, 76, 76, 234, 7, 8, 9, 10,
! 11, 12, 13, 14, 15, 16, 76, 349, 7, 8,
! 9, 10, 11, 12, 13, 14, 15, 16, 8, 77,
! 76, 161, 80, 284, 16, 77, 166, 428, 80, 77,
! 170, 76, 80, 77, 174, 77, 80, 77, 80, 381,
! 382, 383, 82, 83, 84, 85, 86, 87, 82, 83,
! 84, 85, 86, 454, 455, 456, 77, 76, 80, 80,
! 400, 401, 76, 363, 76, 76, 84, 85, 86, 78,
! 346, 82, 83, 213, 416, 215, 80, 76, 3, 73,
! 76, 221, 85, 82, 83, 346, 86, 363, 430, 76,
! 351, 352, 76, 494, 80, 392, 23, 85, 80, 447,
! 27, 80, 399, 30, 80, 76, 33, 34, 78, 36,
! 250, 76, 454, 455, 456, 16, 78, 257, 270, 271,
! 272, 261, 262, 263, 264, 265, 266, 54, 268, 56,
! 80, 86, 77, 79, 395, 83, 80, 277, 65, 80,
! 80, 80, 69, 80, 80, 78, 72, 74, 409, 84,
! 80, 80, 428, 77, 77, 76, 16, 297, 434, 82,
! 83, 84, 85, 86, 87, 80, 16, 428, 77, 309,
! 310, 77, 77, 434, 121, 77, 316, 517, 77, 0,
! 77, 321, 77, 323, 82, 83, 84, 85, 86, 87,
! 451, 80, 490, 454, 455, 456, 395, 119, 141, 539,
! 340, 471, 210, 150, 151, 494, 346, 428, 469, 229,
! 350, 142, 131, 288, 475, 355, 464, 357, 494, 409,
! 484, 509, 398, 363, 76, 143, 366, 367, 368, 369,
! 370, 371, 445, 494, 485, 475, 497, 377, 7, 8,
! 9, 10, 11, 12, 13, 14, 15, 16, 195, 7,
! 8, 9, 10, 11, 12, 13, 14, 15, 16, 206,
! 207, 360, 7, 8, 9, 10, 11, 12, 13, 14,
! 15, 16, 219, 220, 135, 363, 223, 417, 418, 419,
! 420, 421, 422, 423, 424, 425, 426, 276, 428, 236,
! 182, -1, -1, -1, -1, -1, -1, -1, 245, -1,
! 247, -1, 78, -1, -1, -1, -1, -1, 84, 449,
! -1, -1, 88, 260, -1, -1, -1, -1, 76, 77,
! -1, -1, -1, -1, 82, 83, 84, -1, 468, 276,
! -1, 76, 472, 473, 92, -1, -1, 82, 83, 84,
! -1, 86, 118, -1, -1, -1, 486, 92, -1, -1,
! -1, -1, -1, -1, 494, -1, -1, -1, -1, -1,
! 500, -1, -1, -1, -1, -1, 7, 8, 9, 10,
! 11, 12, 13, 14, 15, 16, 516, 324, 325, 326,
! 327, 328, 329, 330, 331, 161, -1, -1, -1, -1,
! 166, 338, 339, -1, 534, -1, -1, 537, 174, -1,
! -1, -1, 349, -1, 180, -1, -1, -1, -1, -1,
! -1, -1, -1, 360, -1, -1, 192, -1, -1, -1,
! -1, -1, 198, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, 76, -1, 213, 79, 386,
! -1, 82, 83, 390, 391, -1, -1, -1, -1, -1,
! -1, 92, -1, -1, -1, -1, -1, -1, -1, -1,
! 407, 7, 8, 9, 10, 11, 12, 13, 14, 15,
! 16, -1, 7, 8, 9, 10, 11, 12, 13, 14,
! 15, 16, -1, -1, -1, -1, 262, 263, 264, 265,
! 266, -1, -1, -1, 270, 271, 272, -1, -1, 446,
! 447, 7, 8, 9, 10, 11, 12, 13, 14, 15,
! 16, -1, 288, -1, -1, -1, -1, 464, -1, 7,
! 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
! 76, -1, -1, 480, -1, -1, 82, 83, 84, -1,
! -1, 76, -1, -1, -1, -1, 92, 82, 83, 84,
! -1, 498, -1, -1, -1, -1, -1, 92, -1, -1,
! -1, -1, 509, -1, -1, -1, 513, -1, -1, -1,
! 76, -1, -1, -1, -1, -1, 82, 83, 84, -1,
! -1, -1, -1, -1, -1, -1, 92, 363, 76, -1,
! -1, -1, -1, -1, 82, 83, -1, -1, -1, -1,
! 376, -1, -1, -1, 92, -1, -1, -1, 6, -1,
! -1, -1, 388, -1, -1, -1, -1, -1, -1, -1,
! -1, 397, 20, 21, 22, 23, 24, 25, 26, 27,
! 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
! 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
! 58, 59, 60, 61, 62, -1, 64, 65, 66, 67,
! 68, 69, 70, 71, -1, 451, 74, 75, 7, 8,
! 9, 10, 11, 12, 13, 14, 15, 16, -1, -1,
! -1, -1, -1, 469, -1, -1, -1, -1, -1, -1,
! -1, 99, 7, 8, 9, 10, 11, 12, 13, 14,
! 15, 16, -1, 7, 8, 9, 10, 11, 12, 13,
! 14, 15, 16, 17, 7, 8, 9, 10, 11, 12,
! 13, 14, 15, 16, -1, 7, 8, 9, 10, 11,
! 12, 13, 14, 15, 16, -1, -1, 76, -1, -1,
! -1, -1, -1, 82, 83, -1, -1, -1, -1, -1,
! -1, -1, -1, 92, -1, -1, -1, -1, -1, -1,
! -1, 76, -1, -1, -1, -1, -1, 82, 83, -1,
! -1, -1, 76, -1, -1, -1, -1, 92, 82, 83,
! 84, -1, 86, 76, -1, -1, -1, -1, -1, 82,
! 83, 84, -1, 86, 76, -1, -1, -1, -1, -1,
! 82, 83, 84, 7, 8, 9, 10, 11, 12, 13,
! 14, 15, 16, -1, 14, -1, -1, -1, -1, 19,
! -1, -1, -1, 23, -1, 25, 26, 27, -1, 29,
! -1, -1, -1, -1, -1, 35, 36, 37, 38, 39,
! -1, -1, -1, 82, 83, 84, 85, 86, 87, 49,
! -1, 51, -1, 53, 93, 94, 95, 96, 97, 98,
! 60, -1, -1, 21, 22, -1, 24, -1, 26, -1,
! 28, -1, 76, 31, -1, -1, -1, -1, 82, 83,
! 84, 81, 40, -1, -1, 85, -1, 87, -1, 47,
! 48, 49, 50, -1, -1, 53, -1, -1, -1, -1,
! 58, -1, 60, 61, -1, -1, 64, -1, 66, 67,
! -1, -1, 70, 77, 72, -1, -1, 75, 82, 83,
! 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
! 94, 95, 96, 97, 98, 77, -1, -1, -1, -1,
! 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
! -1, 93, 94, 95, 96, 97, 98, 77, -1, -1,
! -1, -1, 82, 83, 84, 85, 86, 87, 88, 89,
! 90, 91, -1, 93, 94, 95, 96, 97, 98, 77,
! -1, -1, -1, -1, 82, 83, 84, 85, 86, 87,
! 88, 89, 90, 91, -1, 93, 94, 95, 96, 97,
! 98, 77, -1, -1, -1, -1, 82, 83, 84, 85,
! 86, 87, 88, 89, 90, 91, -1, 93, 94, 95,
! 96, 97, 98, 77, -1, -1, -1, -1, 82, 83,
! 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
! 94, 95, 96, 97, 98, 79, -1, -1, 82, 83,
! 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
! 94, 95, 96, 97, 98, 79, -1, -1, 82, 83,
! 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
! 94, 95, 96, 97, 98, 82, 83, 84, 85, 86,
! 87, 88, 89, 90, 91, -1, 93, 94, 95, 96,
! 97, 98, 82, 83, 84, 85, 86, 87, 88, 89,
! -1, -1, -1, 93, 94, 95, 96, 97, 98, 82,
! 83, 84, 85, 86, 87, 88, -1, -1, -1, -1,
! 93, 94, 95, 96, 97, 98, 82, 83, 84, 85,
! 86, 87, -1, -1, -1, -1, -1, 93, 94, 95,
! 96, 97, 98
! };
! /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
! #line 3 "/s/bison.simple"
!
! /* Skeleton output parser for bison,
! Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
!
! This program is free software; you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation; either version 1, or (at your option)
! any later version.
!
! This program is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program; if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
!
!
! #ifndef alloca
! #ifdef __GNUC__
! #define alloca __builtin_alloca
! #else /* not GNU C. */
! #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
! #include <alloca.h>
! #else /* not sparc */
! #if defined (MSDOS) && !defined (__TURBOC__)
! #include <malloc.h>
! #else /* not MSDOS, or __TURBOC__ */
! #if defined(_AIX)
! #include <malloc.h>
! #pragma alloca
! #else /* not MSDOS, __TURBOC__, or _AIX */
! #ifdef __hpux
! #ifdef __cplusplus
! extern "C" {
! void *alloca (unsigned int);
! };
! #else /* not __cplusplus */
! void *alloca (unsigned int);
! #endif /* not __cplusplus */
! #endif /* __hpux */
! #endif /* not _AIX */
! #endif /* not MSDOS, or __TURBOC__ */
! #endif /* not sparc. */
! #endif /* not GNU C. */
! #endif /* alloca not defined. */
!
! /* This is the parser code that is written into each bison parser
! when the %semantic_parser declaration is not specified in the grammar.
! It was written by Richard Stallman by simplifying the hairy parser
! used when %semantic_parser is specified. */
!
! /* Note: there must be only one dollar sign in this file.
! It is replaced by the list of actions, each action
! as one case of the switch. */
!
! #define yyerrok (yyerrstatus = 0)
! #define yyclearin (yychar = YYEMPTY)
! #define YYEMPTY -2
! #define YYEOF 0
! #define YYACCEPT return(0)
! #define YYABORT return(1)
! #define YYERROR goto yyerrlab1
! /* Like YYERROR except do call yyerror.
! This remains here temporarily to ease the
! transition to the new meaning of YYERROR, for GCC.
! Once GCC version 2 has supplanted version 1, this can go. */
! #define YYFAIL goto yyerrlab
! #define YYRECOVERING() (!!yyerrstatus)
! #define YYBACKUP(token, value) \
! do \
! if (yychar == YYEMPTY && yylen == 1) \
! { yychar = (token), yylval = (value); \
! yychar1 = YYTRANSLATE (yychar); \
! YYPOPSTACK; \
! goto yybackup; \
! } \
! else \
! { yyerror ("syntax error: cannot back up"); YYERROR; } \
! while (0)
!
! #define YYTERROR 1
! #define YYERRCODE 256
!
! #ifndef YYPURE
! #define YYLEX yylex()
#endif
! #ifdef YYPURE
! #ifdef YYLSP_NEEDED
! #define YYLEX yylex(&yylval, &yylloc)
! #else
! #define YYLEX yylex(&yylval)
#endif
#endif
!
! /* If nonreentrant, generate the variables here */
!
! #ifndef YYPURE
!
! int yychar; /* the lookahead symbol */
! YYSTYPE yylval; /* the semantic value of the */
! /* lookahead symbol */
!
! #ifdef YYLSP_NEEDED
! YYLTYPE yylloc; /* location data for the lookahead */
! /* symbol */
! #endif
!
! int yynerrs; /* number of parse errors so far */
! #endif /* not YYPURE */
!
! #if YYDEBUG != 0
! int yydebug; /* nonzero means print parse trace */
! /* Since this is uninitialized, it does not stop multiple parsers
! from coexisting. */
! #endif
!
! /* YYINITDEPTH indicates the initial size of the parser's stacks */
!
! #ifndef YYINITDEPTH
! #define YYINITDEPTH 200
! #endif
!
! /* YYMAXDEPTH is the maximum size the stacks can grow to
! (effective only if the built-in stack extension method is used). */
!
! #if YYMAXDEPTH == 0
! #undef YYMAXDEPTH
#endif
!
! #ifndef YYMAXDEPTH
! #define YYMAXDEPTH 10000
#endif
!
! /* Prevent warning if -Wstrict-prototypes. */
! #ifdef __GNUC__
! int yyparse (void);
! #endif
!
! #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
! #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
! #else /* not GNU C or C++ */
! #ifndef __cplusplus
!
! /* This is the most reliable way to avoid incompatibilities
! in available built-in functions on various systems. */
! static void
! __yy_bcopy (from, to, count)
! char *from;
! char *to;
! int count;
! {
! register char *f = from;
! register char *t = to;
! register int i = count;
!
! while (i-- > 0)
! *t++ = *f++;
! }
!
! #else /* __cplusplus */
!
! /* This is the most reliable way to avoid incompatibilities
! in available built-in functions on various systems. */
! static void
! __yy_bcopy (char *from, char *to, int count)
! {
! register char *f = from;
! register char *t = to;
! register int i = count;
!
! while (i-- > 0)
! *t++ = *f++;
! }
!
#endif
#endif
!
! #line 184 "/usr/local/lib/bison.simple"
! int
! yyparse()
! {
! register int yystate;
! register int yyn;
! register short *yyssp;
! register YYSTYPE *yyvsp;
! int yyerrstatus; /* number of tokens to shift before error messages enabled */
! int yychar1; /* lookahead token as an internal (translated) token number */
!
! short yyssa[YYINITDEPTH]; /* the state stack */
! YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
!
! short *yyss = yyssa; /* refer to the stacks thru separate pointers */
! YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
!
! #ifdef YYLSP_NEEDED
! YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
! YYLTYPE *yyls = yylsa;
! YYLTYPE *yylsp;
!
! #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
! #else
! #define YYPOPSTACK (yyvsp--, yyssp--)
! #endif
!
! int yystacksize = YYINITDEPTH;
!
! #ifdef YYPURE
! int yychar;
! YYSTYPE yylval;
! int yynerrs;
! #ifdef YYLSP_NEEDED
! YYLTYPE yylloc;
! #endif
! #endif
!
! YYSTYPE yyval; /* the variable used to return */
! /* semantic values from the action */
! /* routines */
!
! int yylen;
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Starting parse\n");
! #endif
!
! yystate = 0;
! yyerrstatus = 0;
! yynerrs = 0;
! yychar = YYEMPTY; /* Cause a token to be read. */
!
! /* Initialize stack pointers.
! Waste one element of value and location stack
! so that they stay on the same level as the state stack.
! The wasted elements are never initialized. */
!
! yyssp = yyss - 1;
! yyvsp = yyvs;
! #ifdef YYLSP_NEEDED
! yylsp = yyls;
! #endif
!
! /* Push a new state, which is found in yystate . */
! /* In all cases, when you get here, the value and location stacks
! have just been pushed. so pushing a state here evens the stacks. */
! yynewstate:
!
! *++yyssp = yystate;
!
! if (yyssp >= yyss + yystacksize - 1)
! {
! /* Give user a chance to reallocate the stack */
! /* Use copies of these so that the &'s don't force the real ones into memory. */
! YYSTYPE *yyvs1 = yyvs;
! short *yyss1 = yyss;
! #ifdef YYLSP_NEEDED
! YYLTYPE *yyls1 = yyls;
! #endif
!
! /* Get the current used size of the three stacks, in elements. */
! int size = yyssp - yyss + 1;
!
! #ifdef yyoverflow
! /* Each stack pointer address is followed by the size of
! the data in use in that stack, in bytes. */
! yyoverflow("parser stack overflow",
! &yyss1, size * sizeof (*yyssp),
! &yyvs1, size * sizeof (*yyvsp),
! #ifdef YYLSP_NEEDED
! &yyls1, size * sizeof (*yylsp),
! #endif
! &yystacksize);
!
! yyss = yyss1; yyvs = yyvs1;
! #ifdef YYLSP_NEEDED
! yyls = yyls1;
! #endif
! #else /* no yyoverflow */
! /* Extend the stack our own way. */
! if (yystacksize >= YYMAXDEPTH)
! {
! yyerror("parser stack overflow");
! return 2;
! }
! yystacksize *= 2;
! if (yystacksize > YYMAXDEPTH)
! yystacksize = YYMAXDEPTH;
! yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
! __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
! yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
! __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
! #ifdef YYLSP_NEEDED
! yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
! __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
! #endif
! #endif /* no yyoverflow */
!
! yyssp = yyss + size - 1;
! yyvsp = yyvs + size - 1;
! #ifdef YYLSP_NEEDED
! yylsp = yyls + size - 1;
! #endif
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Stack size increased to %d\n", yystacksize);
! #endif
!
! if (yyssp >= yyss + yystacksize - 1)
! YYABORT;
! }
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Entering state %d\n", yystate);
! #endif
!
! goto yybackup;
! yybackup:
!
! /* Do appropriate processing given the current state. */
! /* Read a lookahead token if we need one and don't already have one. */
! /* yyresume: */
!
! /* First try to decide what to do without reference to lookahead token. */
!
! yyn = yypact[yystate];
! if (yyn == YYFLAG)
! goto yydefault;
!
! /* Not known => get a lookahead token if don't already have one. */
!
! /* yychar is either YYEMPTY or YYEOF
! or a valid token in external form. */
!
! if (yychar == YYEMPTY)
! {
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Reading a token: ");
! #endif
! yychar = YYLEX;
! }
!
! /* Convert token to internal form (in yychar1) for indexing tables with */
!
! if (yychar <= 0) /* This means end of input. */
! {
! yychar1 = 0;
! yychar = YYEOF; /* Don't call YYLEX any more */
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Now at end of input.\n");
! #endif
! }
! else
! {
! yychar1 = YYTRANSLATE(yychar);
!
! #if YYDEBUG != 0
! if (yydebug)
! {
! fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
! /* Give the individual parser a way to print the precise meaning
! of a token, for further debugging info. */
! #ifdef YYPRINT
! YYPRINT (stderr, yychar, yylval);
! #endif
! fprintf (stderr, ")\n");
! }
! #endif
! }
!
! yyn += yychar1;
! if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
! goto yydefault;
!
! yyn = yytable[yyn];
!
! /* yyn is what to do for this token type in this state.
! Negative => reduce, -yyn is rule number.
! Positive => shift, yyn is new state.
! New state is final state => don't bother to shift,
! just return success.
! 0, or most negative number => error. */
!
! if (yyn < 0)
! {
! if (yyn == YYFLAG)
! goto yyerrlab;
! yyn = -yyn;
! goto yyreduce;
! }
! else if (yyn == 0)
! goto yyerrlab;
!
! if (yyn == YYFINAL)
! YYACCEPT;
!
! /* Shift the lookahead token. */
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
! #endif
!
! /* Discard the token being shifted unless it is eof. */
! if (yychar != YYEOF)
! yychar = YYEMPTY;
!
! *++yyvsp = yylval;
! #ifdef YYLSP_NEEDED
! *++yylsp = yylloc;
! #endif
!
! /* count tokens shifted since error; after three, turn off error status. */
! if (yyerrstatus) yyerrstatus--;
!
! yystate = yyn;
! goto yynewstate;
!
! /* Do the default action for the current state. */
! yydefault:
!
! yyn = yydefact[yystate];
! if (yyn == 0)
! goto yyerrlab;
!
! /* Do a reduction. yyn is the number of a rule to reduce with. */
! yyreduce:
! yylen = yyr2[yyn];
! yyval = yyvsp[1-yylen]; /* implement default value of the action */
!
! #if YYDEBUG != 0
! if (yydebug)
! {
! int i;
!
! fprintf (stderr, "Reducing via rule %d (line %d), ",
! yyn, yyrline[yyn]);
!
! /* Print the symbols being reduced, and their result. */
! for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
! fprintf (stderr, "%s ", yytname[yyrhs[i]]);
! fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
! }
#endif
+
+ switch (yyn) {
+
case 3:
! #line 226 "gram.y"
{
/* stat: is the nonterminal for Fortran statements */
! lastwasbranch = NO; ;
! break;}
case 5:
! #line 232 "gram.y"
{ /* forbid further statement function definitions... */
if (parstate == INDATA && laststfcn != thisstno)
parstate = INEXEC;
thisstno++;
! if(yyvsp[-1].labval && (yyvsp[-1].labval->labelno==dorange))
! enddo(yyvsp[-1].labval->labelno);
if(lastwasbranch && thislabel==NULL)
warn("statement cannot be reached");
lastwasbranch = thiswasbranch;
thiswasbranch = NO;
! if(yyvsp[-1].labval)
{
! if(yyvsp[-1].labval->labtype == LABFORMAT)
err("label already that of a format");
else
! yyvsp[-1].labval->labtype = LABEXEC;
}
freetemps();
! ;
! break;}
case 6:
! #line 252 "gram.y"
{ if (can_include)
! doinclude( yyvsp[0].charpval );
else {
! fprintf(diagfile, "Cannot open file %s\n", yyvsp[0].charpval);
done(1);
}
! ;
! break;}
case 7:
! #line 260 "gram.y"
! { if (yyvsp[-2].labval)
lastwasbranch = NO;
endproc(); /* lastwasbranch = NO; -- set in endproc() */
! ;
! break;}
case 8:
! #line 265 "gram.y"
{ extern void unclassifiable();
unclassifiable();
/* flline flushes the current line, ignoring the rest of the text there */
! flline(); ;
! break;}
case 9:
! #line 272 "gram.y"
{ flline(); needkwd = NO; inioctl = NO;
! yyerrok; yyclearin; ;
! break;}
case 10:
! #line 277 "gram.y"
{
if(yystno != 0)
{
***************
*** 894,964 ****
}
}
else yyval.labval = thislabel = NULL;
! } break;
case 11:
! /* # line 305 "gram.in" */
! {startproc(yypvt[-0].extval, CLMAIN); } break;
case 12:
! /* # line 307 "gram.in" */
{ warn("ignoring arguments to main program");
/* hashclear(); */
! startproc(yypvt[-1].extval, CLMAIN); } break;
case 13:
! /* # line 311 "gram.in" */
! { if(yypvt[-0].extval) NO66("named BLOCKDATA");
! startproc(yypvt[-0].extval, CLBLOCK); } break;
case 14:
! /* # line 314 "gram.in" */
! { entrypt(CLPROC, TYSUBR, (ftnint) 0, yypvt[-1].extval, yypvt[-0].chval); } break;
case 15:
! /* # line 316 "gram.in" */
! { entrypt(CLPROC, TYUNKNOWN, (ftnint) 0, yypvt[-1].extval, yypvt[-0].chval); } break;
case 16:
! /* # line 318 "gram.in" */
! { entrypt(CLPROC, yypvt[-4].ival, varleng, yypvt[-1].extval, yypvt[-0].chval); } break;
case 17:
! /* # line 320 "gram.in" */
{ if(parstate==OUTSIDE || procclass==CLMAIN
|| procclass==CLBLOCK)
execerr("misplaced entry statement", CNULL);
! entrypt(CLENTRY, 0, (ftnint) 0, yypvt[-1].extval, yypvt[-0].chval);
! } break;
case 18:
! /* # line 328 "gram.in" */
! { newproc(); } break;
case 19:
! /* # line 332 "gram.in" */
! { yyval.extval = newentry(yypvt[-0].namval, 1); } break;
case 20:
! /* # line 336 "gram.in" */
! { yyval.namval = mkname(token); } break;
case 21:
! /* # line 339 "gram.in" */
! { yyval.extval = NULL; } break;
case 29:
! /* # line 357 "gram.in" */
! { yyval.chval = 0; } break;
case 30:
! /* # line 359 "gram.in" */
{ NO66(" () argument list");
! yyval.chval = 0; } break;
case 31:
! /* # line 362 "gram.in" */
! {yyval.chval = yypvt[-1].chval; } break;
case 32:
! /* # line 366 "gram.in" */
! { yyval.chval = (yypvt[-0].namval ? mkchain((char *)yypvt[-0].namval,CHNULL) : CHNULL ); } break;
case 33:
! /* # line 368 "gram.in" */
! { if(yypvt[-0].namval) yypvt[-2].chval = yyval.chval = mkchain((char *)yypvt[-0].namval, yypvt[-2].chval); } break;
case 34:
! /* # line 372 "gram.in" */
! { if(yypvt[-0].namval->vstg!=STGUNKNOWN && yypvt[-0].namval->vstg!=STGARG)
! dclerr("name declared as argument after use", yypvt[-0].namval);
! yypvt[-0].namval->vstg = STGARG;
! } break;
case 35:
! /* # line 377 "gram.in" */
{ NO66("altenate return argument");
/* substars means that '*'ed formal parameters should be replaced.
--- 1473,1561 ----
}
}
else yyval.labval = thislabel = NULL;
! ;
! break;}
case 11:
! #line 305 "gram.y"
! {startproc(yyvsp[0].extval, CLMAIN); ;
! break;}
case 12:
! #line 307 "gram.y"
{ warn("ignoring arguments to main program");
/* hashclear(); */
! startproc(yyvsp[-1].extval, CLMAIN); ;
! break;}
case 13:
! #line 311 "gram.y"
! { if(yyvsp[0].extval) NO66("named BLOCKDATA");
! startproc(yyvsp[0].extval, CLBLOCK); ;
! break;}
case 14:
! #line 314 "gram.y"
! { entrypt(CLPROC, TYSUBR, (ftnint) 0, yyvsp[-1].extval, yyvsp[0].chval); ;
! break;}
case 15:
! #line 316 "gram.y"
! { entrypt(CLPROC, TYUNKNOWN, (ftnint) 0, yyvsp[-1].extval, yyvsp[0].chval); ;
! break;}
case 16:
! #line 318 "gram.y"
! { entrypt(CLPROC, yyvsp[-4].ival, varleng, yyvsp[-1].extval, yyvsp[0].chval); ;
! break;}
case 17:
! #line 320 "gram.y"
{ if(parstate==OUTSIDE || procclass==CLMAIN
|| procclass==CLBLOCK)
execerr("misplaced entry statement", CNULL);
! entrypt(CLENTRY, 0, (ftnint) 0, yyvsp[-1].extval, yyvsp[0].chval);
! ;
! break;}
case 18:
! #line 328 "gram.y"
! { newproc(); ;
! break;}
case 19:
! #line 332 "gram.y"
! { yyval.extval = newentry(yyvsp[0].namval, 1); ;
! break;}
case 20:
! #line 336 "gram.y"
! { yyval.namval = mkname(token); ;
! break;}
case 21:
! #line 339 "gram.y"
! { yyval.extval = NULL; ;
! break;}
case 29:
! #line 357 "gram.y"
! { yyval.chval = 0; ;
! break;}
case 30:
! #line 359 "gram.y"
{ NO66(" () argument list");
! yyval.chval = 0; ;
! break;}
case 31:
! #line 362 "gram.y"
! {yyval.chval = yyvsp[-1].chval; ;
! break;}
case 32:
! #line 366 "gram.y"
! { yyval.chval = (yyvsp[0].namval ? mkchain((char *)yyvsp[0].namval,CHNULL) : CHNULL ); ;
! break;}
case 33:
! #line 368 "gram.y"
! { if(yyvsp[0].namval) yyvsp[-2].chval = yyval.chval = mkchain((char *)yyvsp[0].namval, yyvsp[-2].chval); ;
! break;}
case 34:
! #line 372 "gram.y"
! { if(yyvsp[0].namval->vstg!=STGUNKNOWN && yyvsp[0].namval->vstg!=STGARG)
! dclerr("name declared as argument after use", yyvsp[0].namval);
! yyvsp[0].namval->vstg = STGARG;
! ;
! break;}
case 35:
! #line 377 "gram.y"
{ NO66("altenate return argument");
/* substars means that '*'ed formal parameters should be replaced.
***************
*** 969,1065 ****
This variable is only referred to in proc.c */
! yyval.namval = 0; substars = YES; } break;
case 36:
! /* # line 393 "gram.in" */
{
char *s;
s = copyn(toklen+1, token);
s[toklen] = '\0';
yyval.charpval = s;
! } break;
case 45:
! /* # line 409 "gram.in" */
{ NO66("SAVE statement");
! saveall = YES; } break;
case 46:
! /* # line 412 "gram.in" */
! { NO66("SAVE statement"); } break;
case 47:
! /* # line 414 "gram.in" */
! { fmtstmt(thislabel); setfmt(thislabel); } break;
case 48:
! /* # line 416 "gram.in" */
! { NO66("PARAMETER statement"); } break;
case 49:
! /* # line 420 "gram.in" */
! { settype(yypvt[-4].namval, yypvt[-6].ival, yypvt[-0].lval);
! if(ndim>0) setbound(yypvt[-4].namval,ndim,dims);
! } break;
case 50:
! /* # line 424 "gram.in" */
! { settype(yypvt[-2].namval, yypvt[-4].ival, yypvt[-0].lval);
! if(ndim>0) setbound(yypvt[-2].namval,ndim,dims);
! } break;
case 51:
! /* # line 428 "gram.in" */
{ if (new_dcl == 2) {
err("attempt to give DATA in type-declaration");
new_dcl = 1;
}
! } break;
case 52:
! /* # line 435 "gram.in" */
! { new_dcl = 2; } break;
case 53:
! /* # line 438 "gram.in" */
! { varleng = yypvt[-0].lval; } break;
case 54:
! /* # line 442 "gram.in" */
! { varleng = (yypvt[-0].ival<0 || ONEOF(yypvt[-0].ival,M(TYLOGICAL)|M(TYLONG))
! ? 0 : typesize[yypvt[-0].ival]);
! vartype = yypvt[-0].ival; } break;
case 55:
! /* # line 447 "gram.in" */
! { yyval.ival = TYLONG; } break;
case 56:
! /* # line 448 "gram.in" */
! { yyval.ival = tyreal; } break;
case 57:
! /* # line 449 "gram.in" */
! { ++complex_seen; yyval.ival = tycomplex; } break;
case 58:
! /* # line 450 "gram.in" */
! { yyval.ival = TYDREAL; } break;
case 59:
! /* # line 451 "gram.in" */
! { ++dcomplex_seen; NOEXT("DOUBLE COMPLEX statement"); yyval.ival = TYDCOMPLEX; } break;
case 60:
! /* # line 452 "gram.in" */
! { yyval.ival = TYLOGICAL; } break;
case 61:
! /* # line 453 "gram.in" */
! { NO66("CHARACTER statement"); yyval.ival = TYCHAR; } break;
case 62:
! /* # line 454 "gram.in" */
! { yyval.ival = TYUNKNOWN; } break;
case 63:
! /* # line 455 "gram.in" */
! { yyval.ival = TYUNKNOWN; } break;
case 64:
! /* # line 456 "gram.in" */
! { NOEXT("AUTOMATIC statement"); yyval.ival = - STGAUTO; } break;
case 65:
! /* # line 457 "gram.in" */
! { NOEXT("STATIC statement"); yyval.ival = - STGBSS; } break;
case 66:
! /* # line 461 "gram.in" */
! { yyval.lval = varleng; } break;
case 67:
! /* # line 463 "gram.in" */
{
expptr p;
! p = yypvt[-1].expval;
NO66("length specification *n");
if( ! ISICON(p) || p->constblock.Const.ci <= 0 )
{
--- 1566,1686 ----
This variable is only referred to in proc.c */
! yyval.namval = 0; substars = YES; ;
! break;}
case 36:
! #line 393 "gram.y"
{
char *s;
s = copyn(toklen+1, token);
s[toklen] = '\0';
yyval.charpval = s;
! ;
! break;}
case 45:
! #line 409 "gram.y"
{ NO66("SAVE statement");
! saveall = YES; ;
! break;}
case 46:
! #line 412 "gram.y"
! { NO66("SAVE statement"); ;
! break;}
case 47:
! #line 414 "gram.y"
! { fmtstmt(thislabel); setfmt(thislabel); ;
! break;}
case 48:
! #line 416 "gram.y"
! { NO66("PARAMETER statement"); ;
! break;}
case 49:
! #line 420 "gram.y"
! { settype(yyvsp[-4].namval, yyvsp[-6].ival, yyvsp[0].lval);
! if(ndim>0) setbound(yyvsp[-4].namval,ndim,dims);
! ;
! break;}
case 50:
! #line 424 "gram.y"
! { settype(yyvsp[-2].namval, yyvsp[-4].ival, yyvsp[0].lval);
! if(ndim>0) setbound(yyvsp[-2].namval,ndim,dims);
! ;
! break;}
case 51:
! #line 428 "gram.y"
{ if (new_dcl == 2) {
err("attempt to give DATA in type-declaration");
new_dcl = 1;
}
! ;
! break;}
case 52:
! #line 435 "gram.y"
! { new_dcl = 2; ;
! break;}
case 53:
! #line 438 "gram.y"
! { varleng = yyvsp[0].lval; ;
! break;}
case 54:
! #line 442 "gram.y"
! { varleng = (yyvsp[0].ival<0 || ONEOF(yyvsp[0].ival,M(TYLOGICAL)|M(TYLONG))
! ? 0 : typesize[yyvsp[0].ival]);
! vartype = yyvsp[0].ival; ;
! break;}
case 55:
! #line 447 "gram.y"
! { yyval.ival = TYLONG; ;
! break;}
case 56:
! #line 448 "gram.y"
! { yyval.ival = tyreal; ;
! break;}
case 57:
! #line 449 "gram.y"
! { ++complex_seen; yyval.ival = tycomplex; ;
! break;}
case 58:
! #line 450 "gram.y"
! { yyval.ival = TYDREAL; ;
! break;}
case 59:
! #line 451 "gram.y"
! { ++dcomplex_seen; NOEXT("DOUBLE COMPLEX statement"); yyval.ival = TYDCOMPLEX; ;
! break;}
case 60:
! #line 452 "gram.y"
! { yyval.ival = TYLOGICAL; ;
! break;}
case 61:
! #line 453 "gram.y"
! { NO66("CHARACTER statement"); yyval.ival = TYCHAR; ;
! break;}
case 62:
! #line 454 "gram.y"
! { yyval.ival = TYUNKNOWN; ;
! break;}
case 63:
! #line 455 "gram.y"
! { yyval.ival = TYUNKNOWN; ;
! break;}
case 64:
! #line 456 "gram.y"
! { NOEXT("AUTOMATIC statement"); yyval.ival = - STGAUTO; ;
! break;}
case 65:
! #line 457 "gram.y"
! { NOEXT("STATIC statement"); yyval.ival = - STGBSS; ;
! break;}
case 66:
! #line 461 "gram.y"
! { yyval.lval = varleng; ;
! break;}
case 67:
! #line 463 "gram.y"
{
expptr p;
! p = yyvsp[-1].expval;
NO66("length specification *n");
if( ! ISICON(p) || p->constblock.Const.ci <= 0 )
{
***************
*** 1081,1122 ****
yyval.lval = varleng;
}
}
! } break;
case 68:
! /* # line 489 "gram.in" */
! { NO66("length specification *(*)"); yyval.lval = -1; } break;
case 69:
! /* # line 493 "gram.in" */
! { incomm( yyval.extval = comblock("") , yypvt[-0].namval ); } break;
case 70:
! /* # line 495 "gram.in" */
! { yyval.extval = yypvt[-1].extval; incomm(yypvt[-1].extval, yypvt[-0].namval); } break;
case 71:
! /* # line 497 "gram.in" */
! { yyval.extval = yypvt[-2].extval; incomm(yypvt[-2].extval, yypvt[-0].namval); } break;
case 72:
! /* # line 499 "gram.in" */
! { incomm(yypvt[-2].extval, yypvt[-0].namval); } break;
case 73:
! /* # line 503 "gram.in" */
! { yyval.extval = comblock(""); } break;
case 74:
! /* # line 505 "gram.in" */
! { yyval.extval = comblock(token); } break;
case 75:
! /* # line 509 "gram.in" */
! { setext(yypvt[-0].namval); } break;
case 76:
! /* # line 511 "gram.in" */
! { setext(yypvt[-0].namval); } break;
case 77:
! /* # line 515 "gram.in" */
! { NO66("INTRINSIC statement"); setintr(yypvt[-0].namval); } break;
case 78:
! /* # line 517 "gram.in" */
! { setintr(yypvt[-0].namval); } break;
case 81:
! /* # line 525 "gram.in" */
{
struct Equivblock *p;
if(nequiv >= maxequiv)
--- 1702,1755 ----
yyval.lval = varleng;
}
}
! ;
! break;}
case 68:
! #line 489 "gram.y"
! { NO66("length specification *(*)"); yyval.lval = -1; ;
! break;}
case 69:
! #line 493 "gram.y"
! { incomm( yyval.extval = comblock("") , yyvsp[0].namval ); ;
! break;}
case 70:
! #line 495 "gram.y"
! { yyval.extval = yyvsp[-1].extval; incomm(yyvsp[-1].extval, yyvsp[0].namval); ;
! break;}
case 71:
! #line 497 "gram.y"
! { yyval.extval = yyvsp[-2].extval; incomm(yyvsp[-2].extval, yyvsp[0].namval); ;
! break;}
case 72:
! #line 499 "gram.y"
! { incomm(yyvsp[-2].extval, yyvsp[0].namval); ;
! break;}
case 73:
! #line 503 "gram.y"
! { yyval.extval = comblock(""); ;
! break;}
case 74:
! #line 505 "gram.y"
! { yyval.extval = comblock(token); ;
! break;}
case 75:
! #line 509 "gram.y"
! { setext(yyvsp[0].namval); ;
! break;}
case 76:
! #line 511 "gram.y"
! { setext(yyvsp[0].namval); ;
! break;}
case 77:
! #line 515 "gram.y"
! { NO66("INTRINSIC statement"); setintr(yyvsp[0].namval); ;
! break;}
case 78:
! #line 517 "gram.y"
! { setintr(yyvsp[0].namval); ;
! break;}
case 81:
! #line 525 "gram.y"
{
struct Equivblock *p;
if(nequiv >= maxequiv)
***************
*** 1125,1145 ****
p->eqvinit = NO;
p->eqvbottom = 0;
p->eqvtop = 0;
! p->equivs = yypvt[-1].eqvval;
! } break;
case 82:
! /* # line 538 "gram.in" */
{ yyval.eqvval=ALLOC(Eqvchain);
! yyval.eqvval->eqvitem.eqvlhs = (struct Primblock *)yypvt[-0].expval;
! } break;
case 83:
! /* # line 542 "gram.in" */
{ yyval.eqvval=ALLOC(Eqvchain);
! yyval.eqvval->eqvitem.eqvlhs = (struct Primblock *) yypvt[-0].expval;
! yyval.eqvval->eqvnextp = yypvt[-2].eqvval;
! } break;
case 86:
! /* # line 553 "gram.in" */
{ if(parstate == OUTSIDE)
{
newproc();
--- 1758,1781 ----
p->eqvinit = NO;
p->eqvbottom = 0;
p->eqvtop = 0;
! p->equivs = yyvsp[-1].eqvval;
! ;
! break;}
case 82:
! #line 538 "gram.y"
{ yyval.eqvval=ALLOC(Eqvchain);
! yyval.eqvval->eqvitem.eqvlhs = (struct Primblock *)yyvsp[0].expval;
! ;
! break;}
case 83:
! #line 542 "gram.y"
{ yyval.eqvval=ALLOC(Eqvchain);
! yyval.eqvval->eqvitem.eqvlhs = (struct Primblock *) yyvsp[0].expval;
! yyval.eqvval->eqvnextp = yyvsp[-2].eqvval;
! ;
! break;}
case 86:
! #line 553 "gram.y"
{ if(parstate == OUTSIDE)
{
newproc();
***************
*** 1151,1207 ****
parstate = INDATA;
datagripe = 1;
}
! } break;
case 87:
! /* # line 568 "gram.in" */
{ ftnint junk;
if(nextdata(&junk) != NULL)
err("too few initializers");
! frdata(yypvt[-4].chval);
frrpl();
! } break;
case 88:
! /* # line 576 "gram.in" */
! { frchain(&datastack); curdtp = 0; } break;
case 89:
! /* # line 578 "gram.in" */
! { pop_datastack(); } break;
case 90:
! /* # line 580 "gram.in" */
! { toomanyinit = NO; } break;
case 93:
! /* # line 585 "gram.in" */
! { dataval(ENULL, yypvt[-0].expval); } break;
case 94:
! /* # line 587 "gram.in" */
! { dataval(yypvt[-2].expval, yypvt[-0].expval); } break;
case 96:
! /* # line 592 "gram.in" */
! { if( yypvt[-1].ival==OPMINUS && ISCONST(yypvt[-0].expval) )
! consnegop((Constp)yypvt[-0].expval);
! yyval.expval = yypvt[-0].expval;
! } break;
case 100:
! /* # line 604 "gram.in" */
{ int k;
! yypvt[-0].namval->vsave = YES;
! k = yypvt[-0].namval->vstg;
if( ! ONEOF(k, M(STGUNKNOWN)|M(STGBSS)|M(STGINIT)) )
! dclerr("can only save static variables", yypvt[-0].namval);
! } break;
case 104:
! /* # line 618 "gram.in" */
! { if(yypvt[-2].namval->vclass == CLUNKNOWN)
! make_param((struct Paramblock *)yypvt[-2].namval, yypvt[-0].expval);
! else dclerr("cannot make into parameter", yypvt[-2].namval);
! } break;
case 105:
! /* # line 625 "gram.in" */
! { if(ndim>0) setbound(yypvt[-1].namval, ndim, dims); } break;
case 106:
! /* # line 629 "gram.in" */
{ Namep np;
! np = ( (struct Primblock *) yypvt[-0].expval) -> namep;
vardcl(np);
if(np->vstg == STGCOMMON)
extsymtab[np->vardesc.varno].extinit = YES;
--- 1787,1854 ----
parstate = INDATA;
datagripe = 1;
}
! ;
! break;}
case 87:
! #line 568 "gram.y"
{ ftnint junk;
if(nextdata(&junk) != NULL)
err("too few initializers");
! frdata(yyvsp[-4].chval);
frrpl();
! ;
! break;}
case 88:
! #line 576 "gram.y"
! { frchain(&datastack); curdtp = 0; ;
! break;}
case 89:
! #line 578 "gram.y"
! { pop_datastack(); ;
! break;}
case 90:
! #line 580 "gram.y"
! { toomanyinit = NO; ;
! break;}
case 93:
! #line 585 "gram.y"
! { dataval(ENULL, yyvsp[0].expval); ;
! break;}
case 94:
! #line 587 "gram.y"
! { dataval(yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 96:
! #line 592 "gram.y"
! { if( yyvsp[-1].ival==OPMINUS && ISCONST(yyvsp[0].expval) )
! consnegop((Constp)yyvsp[0].expval);
! yyval.expval = yyvsp[0].expval;
! ;
! break;}
case 100:
! #line 604 "gram.y"
{ int k;
! yyvsp[0].namval->vsave = YES;
! k = yyvsp[0].namval->vstg;
if( ! ONEOF(k, M(STGUNKNOWN)|M(STGBSS)|M(STGINIT)) )
! dclerr("can only save static variables", yyvsp[0].namval);
! ;
! break;}
case 104:
! #line 618 "gram.y"
! { if(yyvsp[-2].namval->vclass == CLUNKNOWN)
! make_param((struct Paramblock *)yyvsp[-2].namval, yyvsp[0].expval);
! else dclerr("cannot make into parameter", yyvsp[-2].namval);
! ;
! break;}
case 105:
! #line 625 "gram.y"
! { if(ndim>0) setbound(yyvsp[-1].namval, ndim, dims); ;
! break;}
case 106:
! #line 629 "gram.y"
{ Namep np;
! np = ( (struct Primblock *) yyvsp[0].expval) -> namep;
vardcl(np);
if(np->vstg == STGCOMMON)
extsymtab[np->vardesc.varno].extinit = YES;
***************
*** 1209,1300 ****
eqvclass[np->vardesc.varno].eqvinit = YES;
else if(np->vstg!=STGINIT && np->vstg!=STGBSS)
dclerr("inconsistent storage classes", np);
! yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL);
! } break;
case 107:
! /* # line 641 "gram.in" */
{ chainp p; struct Impldoblock *q;
pop_datastack();
q = ALLOC(Impldoblock);
q->tag = TIMPLDO;
! (q->varnp = (Namep) (yypvt[-1].chval->datap))->vimpldovar = 1;
! p = yypvt[-1].chval->nextp;
if(p) { q->implb = (expptr)(p->datap); p = p->nextp; }
if(p) { q->impub = (expptr)(p->datap); p = p->nextp; }
if(p) { q->impstep = (expptr)(p->datap); }
! frchain( & (yypvt[-1].chval) );
yyval.chval = mkchain((char *)q, CHNULL);
! q->datalist = hookup(yypvt[-3].chval, yyval.chval);
! } break;
case 108:
! /* # line 657 "gram.in" */
{ if (!datastack)
curdtp = 0;
datastack = mkchain((char *)curdtp, datastack);
! curdtp = yypvt[-0].chval; curdtelt = 0;
! } break;
case 109:
! /* # line 663 "gram.in" */
! { yyval.chval = hookup(yypvt[-2].chval, yypvt[-0].chval); } break;
case 110:
! /* # line 667 "gram.in" */
! { ndim = 0; } break;
case 112:
! /* # line 671 "gram.in" */
! { ndim = 0; } break;
case 115:
! /* # line 676 "gram.in" */
{
if(ndim == maxdim)
err("too many dimensions");
else if(ndim < maxdim)
{ dims[ndim].lb = 0;
! dims[ndim].ub = yypvt[-0].expval;
}
++ndim;
! } break;
case 116:
! /* # line 686 "gram.in" */
{
if(ndim == maxdim)
err("too many dimensions");
else if(ndim < maxdim)
! { dims[ndim].lb = yypvt[-2].expval;
! dims[ndim].ub = yypvt[-0].expval;
}
++ndim;
! } break;
case 117:
! /* # line 698 "gram.in" */
! { yyval.expval = 0; } break;
case 119:
! /* # line 703 "gram.in" */
! { nstars = 1; labarray[0] = yypvt[-0].labval; } break;
case 120:
! /* # line 705 "gram.in" */
! { if(nstars < maxlablist) labarray[nstars++] = yypvt[-0].labval; } break;
case 121:
! /* # line 709 "gram.in" */
! { yyval.labval = execlab( convci(toklen, token) ); } break;
case 122:
! /* # line 713 "gram.in" */
! { NO66("IMPLICIT statement"); } break;
case 125:
! /* # line 719 "gram.in" */
{ if (vartype != TYUNKNOWN)
dclerr("-- expected letter range",NPNULL);
! setimpl(vartype, varleng, 'a', 'z'); } break;
case 126:
! /* # line 724 "gram.in" */
! { needkwd = 1; } break;
case 130:
! /* # line 733 "gram.in" */
! { setimpl(vartype, varleng, yypvt[-0].ival, yypvt[-0].ival); } break;
case 131:
! /* # line 735 "gram.in" */
! { setimpl(vartype, varleng, yypvt[-2].ival, yypvt[-0].ival); } break;
case 132:
! /* # line 739 "gram.in" */
{ if(toklen!=1 || token[0]<'a' || token[0]>'z')
{
dclerr("implicit item must be single letter", NPNULL);
--- 1856,1964 ----
eqvclass[np->vardesc.varno].eqvinit = YES;
else if(np->vstg!=STGINIT && np->vstg!=STGBSS)
dclerr("inconsistent storage classes", np);
! yyval.chval = mkchain((char *)yyvsp[0].expval, CHNULL);
! ;
! break;}
case 107:
! #line 641 "gram.y"
{ chainp p; struct Impldoblock *q;
pop_datastack();
q = ALLOC(Impldoblock);
q->tag = TIMPLDO;
! (q->varnp = (Namep) (yyvsp[-1].chval->datap))->vimpldovar = 1;
! p = yyvsp[-1].chval->nextp;
if(p) { q->implb = (expptr)(p->datap); p = p->nextp; }
if(p) { q->impub = (expptr)(p->datap); p = p->nextp; }
if(p) { q->impstep = (expptr)(p->datap); }
! frchain( & (yyvsp[-1].chval) );
yyval.chval = mkchain((char *)q, CHNULL);
! q->datalist = hookup(yyvsp[-3].chval, yyval.chval);
! ;
! break;}
case 108:
! #line 657 "gram.y"
{ if (!datastack)
curdtp = 0;
datastack = mkchain((char *)curdtp, datastack);
! curdtp = yyvsp[0].chval; curdtelt = 0;
! ;
! break;}
case 109:
! #line 663 "gram.y"
! { yyval.chval = hookup(yyvsp[-2].chval, yyvsp[0].chval); ;
! break;}
case 110:
! #line 667 "gram.y"
! { ndim = 0; ;
! break;}
case 112:
! #line 671 "gram.y"
! { ndim = 0; ;
! break;}
case 115:
! #line 676 "gram.y"
{
if(ndim == maxdim)
err("too many dimensions");
else if(ndim < maxdim)
{ dims[ndim].lb = 0;
! dims[ndim].ub = yyvsp[0].expval;
}
++ndim;
! ;
! break;}
case 116:
! #line 686 "gram.y"
{
if(ndim == maxdim)
err("too many dimensions");
else if(ndim < maxdim)
! { dims[ndim].lb = yyvsp[-2].expval;
! dims[ndim].ub = yyvsp[0].expval;
}
++ndim;
! ;
! break;}
case 117:
! #line 698 "gram.y"
! { yyval.expval = 0; ;
! break;}
case 119:
! #line 703 "gram.y"
! { nstars = 1; labarray[0] = yyvsp[0].labval; ;
! break;}
case 120:
! #line 705 "gram.y"
! { if(nstars < maxlablist) labarray[nstars++] = yyvsp[0].labval; ;
! break;}
case 121:
! #line 709 "gram.y"
! { yyval.labval = execlab( convci(toklen, token) ); ;
! break;}
case 122:
! #line 713 "gram.y"
! { NO66("IMPLICIT statement"); ;
! break;}
case 125:
! #line 719 "gram.y"
{ if (vartype != TYUNKNOWN)
dclerr("-- expected letter range",NPNULL);
! setimpl(vartype, varleng, 'a', 'z'); ;
! break;}
case 126:
! #line 724 "gram.y"
! { needkwd = 1; ;
! break;}
case 130:
! #line 733 "gram.y"
! { setimpl(vartype, varleng, yyvsp[0].ival, yyvsp[0].ival); ;
! break;}
case 131:
! #line 735 "gram.y"
! { setimpl(vartype, varleng, yyvsp[-2].ival, yyvsp[0].ival); ;
! break;}
case 132:
! #line 739 "gram.y"
{ if(toklen!=1 || token[0]<'a' || token[0]>'z')
{
dclerr("implicit item must be single letter", NPNULL);
***************
*** 1301,1328 ****
yyval.ival = 0;
}
else yyval.ival = token[0];
! } break;
case 135:
! /* # line 753 "gram.in" */
{
! if(yypvt[-2].namval->vclass == CLUNKNOWN)
{
! yypvt[-2].namval->vclass = CLNAMELIST;
! yypvt[-2].namval->vtype = TYINT;
! yypvt[-2].namval->vstg = STGBSS;
! yypvt[-2].namval->varxptr.namelist = yypvt[-0].chval;
! yypvt[-2].namval->vardesc.varno = ++lastvarno;
}
! else dclerr("cannot be a namelist name", yypvt[-2].namval);
! } break;
case 136:
! /* # line 767 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].namval, CHNULL); } break;
case 137:
! /* # line 769 "gram.in" */
! { yyval.chval = hookup(yypvt[-2].chval, mkchain((char *)yypvt[-0].namval, CHNULL)); } break;
case 138:
! /* # line 773 "gram.in" */
{ switch(parstate)
{
case OUTSIDE: newproc();
--- 1965,1996 ----
yyval.ival = 0;
}
else yyval.ival = token[0];
! ;
! break;}
case 135:
! #line 753 "gram.y"
{
! if(yyvsp[-2].namval->vclass == CLUNKNOWN)
{
! yyvsp[-2].namval->vclass = CLNAMELIST;
! yyvsp[-2].namval->vtype = TYINT;
! yyvsp[-2].namval->vstg = STGBSS;
! yyvsp[-2].namval->varxptr.namelist = yyvsp[0].chval;
! yyvsp[-2].namval->vardesc.varno = ++lastvarno;
}
! else dclerr("cannot be a namelist name", yyvsp[-2].namval);
! ;
! break;}
case 136:
! #line 767 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].namval, CHNULL); ;
! break;}
case 137:
! #line 769 "gram.y"
! { yyval.chval = hookup(yyvsp[-2].chval, mkchain((char *)yyvsp[0].namval, CHNULL)); ;
! break;}
case 138:
! #line 773 "gram.y"
{ switch(parstate)
{
case OUTSIDE: newproc();
***************
*** 1342,1636 ****
default:
dclerr("declaration among executables", NPNULL);
}
! } break;
case 139:
! /* # line 795 "gram.in" */
! { yyval.chval = 0; } break;
case 140:
! /* # line 797 "gram.in" */
! { yyval.chval = revchain(yypvt[-0].chval); } break;
case 141:
! /* # line 801 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL); } break;
case 142:
! /* # line 803 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, yypvt[-2].chval); } break;
case 144:
! /* # line 808 "gram.in" */
! { yyval.expval = yypvt[-1].expval; if (yyval.expval->tag == TPRIM)
! yyval.expval->primblock.parenused = 1; } break;
case 148:
! /* # line 816 "gram.in" */
! { yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;
case 149:
! /* # line 818 "gram.in" */
! { yyval.expval = mkexpr(OPSTAR, yypvt[-2].expval, yypvt[-0].expval); } break;
case 150:
! /* # line 820 "gram.in" */
! { yyval.expval = mkexpr(OPSLASH, yypvt[-2].expval, yypvt[-0].expval); } break;
case 151:
! /* # line 822 "gram.in" */
! { yyval.expval = mkexpr(OPPOWER, yypvt[-2].expval, yypvt[-0].expval); } break;
case 152:
! /* # line 824 "gram.in" */
! { if(yypvt[-1].ival == OPMINUS)
! yyval.expval = mkexpr(OPNEG, yypvt[-0].expval, ENULL);
! else yyval.expval = yypvt[-0].expval;
! } break;
case 153:
! /* # line 829 "gram.in" */
! { yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;
case 154:
! /* # line 831 "gram.in" */
{ NO66(".EQV. operator");
! yyval.expval = mkexpr(OPEQV, yypvt[-2].expval,yypvt[-0].expval); } break;
case 155:
! /* # line 834 "gram.in" */
{ NO66(".NEQV. operator");
! yyval.expval = mkexpr(OPNEQV, yypvt[-2].expval, yypvt[-0].expval); } break;
case 156:
! /* # line 837 "gram.in" */
! { yyval.expval = mkexpr(OPOR, yypvt[-2].expval, yypvt[-0].expval); } break;
case 157:
! /* # line 839 "gram.in" */
! { yyval.expval = mkexpr(OPAND, yypvt[-2].expval, yypvt[-0].expval); } break;
case 158:
! /* # line 841 "gram.in" */
! { yyval.expval = mkexpr(OPNOT, yypvt[-0].expval, ENULL); } break;
case 159:
! /* # line 843 "gram.in" */
{ NO66("concatenation operator //");
! yyval.expval = mkexpr(OPCONCAT, yypvt[-2].expval, yypvt[-0].expval); } break;
case 160:
! /* # line 847 "gram.in" */
! { yyval.ival = OPPLUS; } break;
case 161:
! /* # line 848 "gram.in" */
! { yyval.ival = OPMINUS; } break;
case 162:
! /* # line 851 "gram.in" */
! { yyval.ival = OPEQ; } break;
case 163:
! /* # line 852 "gram.in" */
! { yyval.ival = OPGT; } break;
case 164:
! /* # line 853 "gram.in" */
! { yyval.ival = OPLT; } break;
case 165:
! /* # line 854 "gram.in" */
! { yyval.ival = OPGE; } break;
case 166:
! /* # line 855 "gram.in" */
! { yyval.ival = OPLE; } break;
case 167:
! /* # line 856 "gram.in" */
! { yyval.ival = OPNE; } break;
case 168:
! /* # line 860 "gram.in" */
! { yyval.expval = mkprim(yypvt[-0].namval, LBNULL, CHNULL); } break;
case 169:
! /* # line 862 "gram.in" */
{ NO66("substring operator :");
! yyval.expval = mkprim(yypvt[-1].namval, LBNULL, yypvt[-0].chval); } break;
case 170:
! /* # line 865 "gram.in" */
! { yyval.expval = mkprim(yypvt[-3].namval, mklist(yypvt[-1].chval), CHNULL); } break;
case 171:
! /* # line 867 "gram.in" */
{ NO66("substring operator :");
! yyval.expval = mkprim(yypvt[-4].namval, mklist(yypvt[-2].chval), yypvt[-0].chval); } break;
case 172:
! /* # line 872 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-3].expval, mkchain((char *)yypvt[-1].expval,CHNULL)); } break;
case 173:
! /* # line 876 "gram.in" */
! { yyval.expval = 0; } break;
case 175:
! /* # line 881 "gram.in" */
! { if(yypvt[-0].namval->vclass == CLPARAM)
yyval.expval = (expptr) cpexpr(
! ( (struct Paramblock *) (yypvt[-0].namval) ) -> paramval);
! } break;
case 177:
! /* # line 888 "gram.in" */
! { yyval.expval = mklogcon(1); } break;
case 178:
! /* # line 889 "gram.in" */
! { yyval.expval = mklogcon(0); } break;
case 179:
! /* # line 890 "gram.in" */
! { yyval.expval = mkstrcon(toklen, token); } break;
case 180:
! /* # line 891 "gram.in" */
! { yyval.expval = mkintcon( convci(toklen, token) ); } break;
case 181:
! /* # line 892 "gram.in" */
! { yyval.expval = mkrealcon(tyreal, token); } break;
case 182:
! /* # line 893 "gram.in" */
! { yyval.expval = mkrealcon(TYDREAL, token); } break;
case 184:
! /* # line 898 "gram.in" */
! { yyval.expval = mkcxcon(yypvt[-3].expval,yypvt[-1].expval); } break;
case 185:
! /* # line 902 "gram.in" */
{ NOEXT("hex constant");
! yyval.expval = mkbitcon(4, toklen, token); } break;
case 186:
! /* # line 905 "gram.in" */
{ NOEXT("octal constant");
! yyval.expval = mkbitcon(3, toklen, token); } break;
case 187:
! /* # line 908 "gram.in" */
{ NOEXT("binary constant");
! yyval.expval = mkbitcon(1, toklen, token); } break;
case 189:
! /* # line 914 "gram.in" */
! { yyval.expval = yypvt[-1].expval; } break;
case 192:
! /* # line 920 "gram.in" */
! { yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;
case 193:
! /* # line 922 "gram.in" */
! { yyval.expval = mkexpr(OPSTAR, yypvt[-2].expval, yypvt[-0].expval); } break;
case 194:
! /* # line 924 "gram.in" */
! { yyval.expval = mkexpr(OPSLASH, yypvt[-2].expval, yypvt[-0].expval); } break;
case 195:
! /* # line 926 "gram.in" */
! { yyval.expval = mkexpr(OPPOWER, yypvt[-2].expval, yypvt[-0].expval); } break;
case 196:
! /* # line 928 "gram.in" */
! { if(yypvt[-1].ival == OPMINUS)
! yyval.expval = mkexpr(OPNEG, yypvt[-0].expval, ENULL);
! else yyval.expval = yypvt[-0].expval;
! } break;
case 197:
! /* # line 933 "gram.in" */
{ NO66("concatenation operator //");
! yyval.expval = mkexpr(OPCONCAT, yypvt[-2].expval, yypvt[-0].expval); } break;
case 199:
! /* # line 938 "gram.in" */
{
! if(yypvt[-3].labval->labdefined)
execerr("no backward DO loops", CNULL);
! yypvt[-3].labval->blklevel = blklevel+1;
! exdo(yypvt[-3].labval->labelno, NPNULL, yypvt[-0].chval);
! } break;
case 200:
! /* # line 945 "gram.in" */
{
! exdo((int)(ctls - ctlstack - 2), NPNULL, yypvt[-0].chval);
NOEXT("DO without label");
! } break;
case 201:
! /* # line 950 "gram.in" */
! { exenddo(NPNULL); } break;
case 202:
! /* # line 952 "gram.in" */
! { exendif(); thiswasbranch = NO; } break;
case 204:
! /* # line 955 "gram.in" */
! { exelif(yypvt[-2].expval); lastwasbranch = NO; } break;
case 205:
! /* # line 957 "gram.in" */
! { exelse(); lastwasbranch = NO; } break;
case 206:
! /* # line 959 "gram.in" */
! { exendif(); lastwasbranch = NO; } break;
case 207:
! /* # line 963 "gram.in" */
! { exif(yypvt[-1].expval); } break;
case 208:
! /* # line 967 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-2].namval, yypvt[-0].chval); } break;
case 210:
! /* # line 972 "gram.in" */
! { yyval.chval = mkchain(CNULL, (chainp)yypvt[-1].expval); } break;
case 211:
! /* # line 976 "gram.in" */
! { exequals((struct Primblock *)yypvt[-2].expval, yypvt[-0].expval); } break;
case 212:
! /* # line 978 "gram.in" */
! { exassign(yypvt[-0].namval, yypvt[-2].labval); } break;
case 215:
! /* # line 982 "gram.in" */
! { inioctl = NO; } break;
case 216:
! /* # line 984 "gram.in" */
! { exarif(yypvt[-6].expval, yypvt[-4].labval, yypvt[-2].labval, yypvt[-0].labval); thiswasbranch = YES; } break;
case 217:
! /* # line 986 "gram.in" */
! { excall(yypvt[-0].namval, LBNULL, 0, labarray); } break;
case 218:
! /* # line 988 "gram.in" */
! { excall(yypvt[-2].namval, LBNULL, 0, labarray); } break;
case 219:
! /* # line 990 "gram.in" */
{ if(nstars < maxlablist)
! excall(yypvt[-3].namval, mklist(revchain(yypvt[-1].chval)), nstars, labarray);
else
many("alternate returns", 'l', maxlablist);
! } break;
case 220:
! /* # line 996 "gram.in" */
! { exreturn(yypvt[-0].expval); thiswasbranch = YES; } break;
case 221:
! /* # line 998 "gram.in" */
! { exstop(yypvt[-2].ival, yypvt[-0].expval); thiswasbranch = yypvt[-2].ival; } break;
case 222:
! /* # line 1002 "gram.in" */
! { yyval.labval = mklabel( convci(toklen, token) ); } break;
case 223:
! /* # line 1006 "gram.in" */
{ if(parstate == OUTSIDE)
{
newproc();
startproc(ESNULL, CLMAIN);
}
! } break;
case 224:
! /* # line 1015 "gram.in" */
! { exgoto(yypvt[-0].labval); thiswasbranch = YES; } break;
case 225:
! /* # line 1017 "gram.in" */
! { exasgoto(yypvt[-0].namval); thiswasbranch = YES; } break;
case 226:
! /* # line 1019 "gram.in" */
! { exasgoto(yypvt[-4].namval); thiswasbranch = YES; } break;
case 227:
! /* # line 1021 "gram.in" */
{ if(nstars < maxlablist)
! putcmgo(putx(fixtype(yypvt[-0].expval)), nstars, labarray);
else
many("labels in computed GOTO list", 'l', maxlablist);
! } break;
case 230:
! /* # line 1033 "gram.in" */
! { nstars = 0; yyval.namval = yypvt[-0].namval; } break;
case 231:
! /* # line 1037 "gram.in" */
! { yyval.chval = yypvt[-0].expval ? mkchain((char *)yypvt[-0].expval,CHNULL) : CHNULL; } break;
case 232:
! /* # line 1039 "gram.in" */
! { yyval.chval = yypvt[-0].expval ? mkchain((char *)yypvt[-0].expval, yypvt[-2].chval) : yypvt[-2].chval; } break;
case 234:
! /* # line 1044 "gram.in" */
! { if(nstars < maxlablist) labarray[nstars++] = yypvt[-0].labval; yyval.expval = 0; } break;
case 235:
! /* # line 1048 "gram.in" */
! { yyval.ival = 0; } break;
case 236:
! /* # line 1050 "gram.in" */
! { yyval.ival = 2; } break;
case 237:
! /* # line 1054 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL); } break;
case 238:
! /* # line 1056 "gram.in" */
! { yyval.chval = hookup(yypvt[-2].chval, mkchain((char *)yypvt[-0].expval,CHNULL) ); } break;
case 239:
! /* # line 1060 "gram.in" */
{ if(parstate == OUTSIDE)
{
newproc();
--- 2010,2387 ----
default:
dclerr("declaration among executables", NPNULL);
}
! ;
! break;}
case 139:
! #line 795 "gram.y"
! { yyval.chval = 0; ;
! break;}
case 140:
! #line 797 "gram.y"
! { yyval.chval = revchain(yyvsp[0].chval); ;
! break;}
case 141:
! #line 801 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, CHNULL); ;
! break;}
case 142:
! #line 803 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, yyvsp[-2].chval); ;
! break;}
case 144:
! #line 808 "gram.y"
! { yyval.expval = yyvsp[-1].expval; if (yyval.expval->tag == TPRIM)
! yyval.expval->primblock.parenused = 1; ;
! break;}
case 148:
! #line 816 "gram.y"
! { yyval.expval = mkexpr(yyvsp[-1].ival, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 149:
! #line 818 "gram.y"
! { yyval.expval = mkexpr(OPSTAR, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 150:
! #line 820 "gram.y"
! { yyval.expval = mkexpr(OPSLASH, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 151:
! #line 822 "gram.y"
! { yyval.expval = mkexpr(OPPOWER, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 152:
! #line 824 "gram.y"
! { if(yyvsp[-1].ival == OPMINUS)
! yyval.expval = mkexpr(OPNEG, yyvsp[0].expval, ENULL);
! else yyval.expval = yyvsp[0].expval;
! ;
! break;}
case 153:
! #line 829 "gram.y"
! { yyval.expval = mkexpr(yyvsp[-1].ival, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 154:
! #line 831 "gram.y"
{ NO66(".EQV. operator");
! yyval.expval = mkexpr(OPEQV, yyvsp[-2].expval,yyvsp[0].expval); ;
! break;}
case 155:
! #line 834 "gram.y"
{ NO66(".NEQV. operator");
! yyval.expval = mkexpr(OPNEQV, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 156:
! #line 837 "gram.y"
! { yyval.expval = mkexpr(OPOR, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 157:
! #line 839 "gram.y"
! { yyval.expval = mkexpr(OPAND, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 158:
! #line 841 "gram.y"
! { yyval.expval = mkexpr(OPNOT, yyvsp[0].expval, ENULL); ;
! break;}
case 159:
! #line 843 "gram.y"
{ NO66("concatenation operator //");
! yyval.expval = mkexpr(OPCONCAT, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 160:
! #line 847 "gram.y"
! { yyval.ival = OPPLUS; ;
! break;}
case 161:
! #line 848 "gram.y"
! { yyval.ival = OPMINUS; ;
! break;}
case 162:
! #line 851 "gram.y"
! { yyval.ival = OPEQ; ;
! break;}
case 163:
! #line 852 "gram.y"
! { yyval.ival = OPGT; ;
! break;}
case 164:
! #line 853 "gram.y"
! { yyval.ival = OPLT; ;
! break;}
case 165:
! #line 854 "gram.y"
! { yyval.ival = OPGE; ;
! break;}
case 166:
! #line 855 "gram.y"
! { yyval.ival = OPLE; ;
! break;}
case 167:
! #line 856 "gram.y"
! { yyval.ival = OPNE; ;
! break;}
case 168:
! #line 860 "gram.y"
! { yyval.expval = mkprim(yyvsp[0].namval, LBNULL, CHNULL); ;
! break;}
case 169:
! #line 862 "gram.y"
{ NO66("substring operator :");
! yyval.expval = mkprim(yyvsp[-1].namval, LBNULL, yyvsp[0].chval); ;
! break;}
case 170:
! #line 865 "gram.y"
! { yyval.expval = mkprim(yyvsp[-3].namval, mklist(yyvsp[-1].chval), CHNULL); ;
! break;}
case 171:
! #line 867 "gram.y"
{ NO66("substring operator :");
! yyval.expval = mkprim(yyvsp[-4].namval, mklist(yyvsp[-2].chval), yyvsp[0].chval); ;
! break;}
case 172:
! #line 872 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[-3].expval, mkchain((char *)yyvsp[-1].expval,CHNULL)); ;
! break;}
case 173:
! #line 876 "gram.y"
! { yyval.expval = 0; ;
! break;}
case 175:
! #line 881 "gram.y"
! { if(yyvsp[0].namval->vclass == CLPARAM)
yyval.expval = (expptr) cpexpr(
! ( (struct Paramblock *) (yyvsp[0].namval) ) -> paramval);
! ;
! break;}
case 177:
! #line 888 "gram.y"
! { yyval.expval = mklogcon(1); ;
! break;}
case 178:
! #line 889 "gram.y"
! { yyval.expval = mklogcon(0); ;
! break;}
case 179:
! #line 890 "gram.y"
! { yyval.expval = mkstrcon(toklen, token); ;
! break;}
case 180:
! #line 891 "gram.y"
! { yyval.expval = mkintcon( convci(toklen, token) ); ;
! break;}
case 181:
! #line 892 "gram.y"
! { yyval.expval = mkrealcon(tyreal, token); ;
! break;}
case 182:
! #line 893 "gram.y"
! { yyval.expval = mkrealcon(TYDREAL, token); ;
! break;}
case 184:
! #line 898 "gram.y"
! { yyval.expval = mkcxcon(yyvsp[-3].expval,yyvsp[-1].expval); ;
! break;}
case 185:
! #line 902 "gram.y"
{ NOEXT("hex constant");
! yyval.expval = mkbitcon(4, toklen, token); ;
! break;}
case 186:
! #line 905 "gram.y"
{ NOEXT("octal constant");
! yyval.expval = mkbitcon(3, toklen, token); ;
! break;}
case 187:
! #line 908 "gram.y"
{ NOEXT("binary constant");
! yyval.expval = mkbitcon(1, toklen, token); ;
! break;}
case 189:
! #line 914 "gram.y"
! { yyval.expval = yyvsp[-1].expval; ;
! break;}
case 192:
! #line 920 "gram.y"
! { yyval.expval = mkexpr(yyvsp[-1].ival, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 193:
! #line 922 "gram.y"
! { yyval.expval = mkexpr(OPSTAR, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 194:
! #line 924 "gram.y"
! { yyval.expval = mkexpr(OPSLASH, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 195:
! #line 926 "gram.y"
! { yyval.expval = mkexpr(OPPOWER, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 196:
! #line 928 "gram.y"
! { if(yyvsp[-1].ival == OPMINUS)
! yyval.expval = mkexpr(OPNEG, yyvsp[0].expval, ENULL);
! else yyval.expval = yyvsp[0].expval;
! ;
! break;}
case 197:
! #line 933 "gram.y"
{ NO66("concatenation operator //");
! yyval.expval = mkexpr(OPCONCAT, yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 199:
! #line 938 "gram.y"
{
! if(yyvsp[-3].labval->labdefined)
execerr("no backward DO loops", CNULL);
! yyvsp[-3].labval->blklevel = blklevel+1;
! exdo(yyvsp[-3].labval->labelno, NPNULL, yyvsp[0].chval);
! ;
! break;}
case 200:
! #line 945 "gram.y"
{
! exdo((int)(ctls - ctlstack - 2), NPNULL, yyvsp[0].chval);
NOEXT("DO without label");
! ;
! break;}
case 201:
! #line 950 "gram.y"
! { exenddo(NPNULL); ;
! break;}
case 202:
! #line 952 "gram.y"
! { exendif(); thiswasbranch = NO; ;
! break;}
case 204:
! #line 955 "gram.y"
! { exelif(yyvsp[-2].expval); lastwasbranch = NO; ;
! break;}
case 205:
! #line 957 "gram.y"
! { exelse(); lastwasbranch = NO; ;
! break;}
case 206:
! #line 959 "gram.y"
! { exendif(); lastwasbranch = NO; ;
! break;}
case 207:
! #line 963 "gram.y"
! { exif(yyvsp[-1].expval); ;
! break;}
case 208:
! #line 967 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[-2].namval, yyvsp[0].chval); ;
! break;}
case 210:
! #line 972 "gram.y"
! { yyval.chval = mkchain(CNULL, (chainp)yyvsp[-1].expval); ;
! break;}
case 211:
! #line 976 "gram.y"
! { exequals((struct Primblock *)yyvsp[-2].expval, yyvsp[0].expval); ;
! break;}
case 212:
! #line 978 "gram.y"
! { exassign(yyvsp[0].namval, yyvsp[-2].labval); ;
! break;}
case 215:
! #line 982 "gram.y"
! { inioctl = NO; ;
! break;}
case 216:
! #line 984 "gram.y"
! { exarif(yyvsp[-6].expval, yyvsp[-4].labval, yyvsp[-2].labval, yyvsp[0].labval); thiswasbranch = YES; ;
! break;}
case 217:
! #line 986 "gram.y"
! { excall(yyvsp[0].namval, LBNULL, 0, labarray); ;
! break;}
case 218:
! #line 988 "gram.y"
! { excall(yyvsp[-2].namval, LBNULL, 0, labarray); ;
! break;}
case 219:
! #line 990 "gram.y"
{ if(nstars < maxlablist)
! excall(yyvsp[-3].namval, mklist(revchain(yyvsp[-1].chval)), nstars, labarray);
else
many("alternate returns", 'l', maxlablist);
! ;
! break;}
case 220:
! #line 996 "gram.y"
! { exreturn(yyvsp[0].expval); thiswasbranch = YES; ;
! break;}
case 221:
! #line 998 "gram.y"
! { exstop(yyvsp[-2].ival, yyvsp[0].expval); thiswasbranch = yyvsp[-2].ival; ;
! break;}
case 222:
! #line 1002 "gram.y"
! { yyval.labval = mklabel( convci(toklen, token) ); ;
! break;}
case 223:
! #line 1006 "gram.y"
{ if(parstate == OUTSIDE)
{
newproc();
startproc(ESNULL, CLMAIN);
}
! ;
! break;}
case 224:
! #line 1015 "gram.y"
! { exgoto(yyvsp[0].labval); thiswasbranch = YES; ;
! break;}
case 225:
! #line 1017 "gram.y"
! { exasgoto(yyvsp[0].namval); thiswasbranch = YES; ;
! break;}
case 226:
! #line 1019 "gram.y"
! { exasgoto(yyvsp[-4].namval); thiswasbranch = YES; ;
! break;}
case 227:
! #line 1021 "gram.y"
{ if(nstars < maxlablist)
! putcmgo(putx(fixtype(yyvsp[0].expval)), nstars, labarray);
else
many("labels in computed GOTO list", 'l', maxlablist);
! ;
! break;}
case 230:
! #line 1033 "gram.y"
! { nstars = 0; yyval.namval = yyvsp[0].namval; ;
! break;}
case 231:
! #line 1037 "gram.y"
! { yyval.chval = yyvsp[0].expval ? mkchain((char *)yyvsp[0].expval,CHNULL) : CHNULL; ;
! break;}
case 232:
! #line 1039 "gram.y"
! { yyval.chval = yyvsp[0].expval ? mkchain((char *)yyvsp[0].expval, yyvsp[-2].chval) : yyvsp[-2].chval; ;
! break;}
case 234:
! #line 1044 "gram.y"
! { if(nstars < maxlablist) labarray[nstars++] = yyvsp[0].labval; yyval.expval = 0; ;
! break;}
case 235:
! #line 1048 "gram.y"
! { yyval.ival = 0; ;
! break;}
case 236:
! #line 1050 "gram.y"
! { yyval.ival = 2; ;
! break;}
case 237:
! #line 1054 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, CHNULL); ;
! break;}
case 238:
! #line 1056 "gram.y"
! { yyval.chval = hookup(yyvsp[-2].chval, mkchain((char *)yyvsp[0].expval,CHNULL) ); ;
! break;}
case 239:
! #line 1060 "gram.y"
{ if(parstate == OUTSIDE)
{
newproc();
***************
*** 1640,1829 ****
/* This next statement depends on the ordering of the state table encoding */
if(parstate < INDATA) enddcl();
! } break;
case 240:
! /* # line 1073 "gram.in" */
! { intonly = YES; } break;
case 241:
! /* # line 1077 "gram.in" */
! { intonly = NO; } break;
case 242:
! /* # line 1082 "gram.in" */
! { endio(); } break;
case 244:
! /* # line 1087 "gram.in" */
! { ioclause(IOSUNIT, yypvt[-0].expval); endioctl(); } break;
case 245:
! /* # line 1089 "gram.in" */
! { ioclause(IOSUNIT, ENULL); endioctl(); } break;
case 246:
! /* # line 1091 "gram.in" */
! { ioclause(IOSUNIT, IOSTDERR); endioctl(); } break;
case 248:
! /* # line 1094 "gram.in" */
! { doio(CHNULL); } break;
case 249:
! /* # line 1096 "gram.in" */
! { doio(CHNULL); } break;
case 250:
! /* # line 1098 "gram.in" */
! { doio(revchain(yypvt[-0].chval)); } break;
case 251:
! /* # line 1100 "gram.in" */
! { doio(revchain(yypvt[-0].chval)); } break;
case 252:
! /* # line 1102 "gram.in" */
! { doio(revchain(yypvt[-0].chval)); } break;
case 253:
! /* # line 1104 "gram.in" */
! { doio(CHNULL); } break;
case 254:
! /* # line 1106 "gram.in" */
! { doio(revchain(yypvt[-0].chval)); } break;
case 255:
! /* # line 1108 "gram.in" */
! { doio(CHNULL); } break;
case 256:
! /* # line 1110 "gram.in" */
! { doio(revchain(yypvt[-0].chval)); } break;
case 258:
! /* # line 1117 "gram.in" */
! { iostmt = IOBACKSPACE; } break;
case 259:
! /* # line 1119 "gram.in" */
! { iostmt = IOREWIND; } break;
case 260:
! /* # line 1121 "gram.in" */
! { iostmt = IOENDFILE; } break;
case 262:
! /* # line 1128 "gram.in" */
! { iostmt = IOINQUIRE; } break;
case 263:
! /* # line 1130 "gram.in" */
! { iostmt = IOOPEN; } break;
case 264:
! /* # line 1132 "gram.in" */
! { iostmt = IOCLOSE; } break;
case 265:
! /* # line 1136 "gram.in" */
{
ioclause(IOSUNIT, ENULL);
! ioclause(IOSFMT, yypvt[-0].expval);
endioctl();
! } break;
case 266:
! /* # line 1142 "gram.in" */
{
ioclause(IOSUNIT, ENULL);
ioclause(IOSFMT, ENULL);
endioctl();
! } break;
case 267:
! /* # line 1150 "gram.in" */
{
! ioclause(IOSUNIT, yypvt[-1].expval);
endioctl();
! } break;
case 268:
! /* # line 1155 "gram.in" */
! { endioctl(); } break;
case 271:
! /* # line 1163 "gram.in" */
! { ioclause(IOSPOSITIONAL, yypvt[-0].expval); } break;
case 272:
! /* # line 1165 "gram.in" */
! { ioclause(IOSPOSITIONAL, ENULL); } break;
case 273:
! /* # line 1167 "gram.in" */
! { ioclause(IOSPOSITIONAL, IOSTDERR); } break;
case 274:
! /* # line 1169 "gram.in" */
! { ioclause(yypvt[-1].ival, yypvt[-0].expval); } break;
case 275:
! /* # line 1171 "gram.in" */
! { ioclause(yypvt[-1].ival, ENULL); } break;
case 276:
! /* # line 1173 "gram.in" */
! { ioclause(yypvt[-1].ival, IOSTDERR); } break;
case 277:
! /* # line 1177 "gram.in" */
! { yyval.ival = iocname(); } break;
case 278:
! /* # line 1181 "gram.in" */
! { iostmt = IOREAD; } break;
case 279:
! /* # line 1185 "gram.in" */
! { iostmt = IOWRITE; } break;
case 280:
! /* # line 1189 "gram.in" */
{
iostmt = IOWRITE;
ioclause(IOSUNIT, ENULL);
! ioclause(IOSFMT, yypvt[-1].expval);
endioctl();
! } break;
case 281:
! /* # line 1196 "gram.in" */
{
iostmt = IOWRITE;
ioclause(IOSUNIT, ENULL);
ioclause(IOSFMT, ENULL);
endioctl();
! } break;
case 282:
! /* # line 1205 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].tagval, CHNULL); } break;
case 283:
! /* # line 1207 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].tagval, yypvt[-2].chval); } break;
case 284:
! /* # line 1211 "gram.in" */
! { yyval.tagval = (tagptr) yypvt[-0].expval; } break;
case 285:
! /* # line 1213 "gram.in" */
! { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval,revchain(yypvt[-3].chval)); } break;
case 286:
! /* # line 1217 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL); } break;
case 287:
! /* # line 1219 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].tagval, CHNULL); } break;
case 289:
! /* # line 1224 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, mkchain((char *)yypvt[-2].expval, CHNULL) ); } break;
case 290:
! /* # line 1226 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].tagval, mkchain((char *)yypvt[-2].expval, CHNULL) ); } break;
case 291:
! /* # line 1228 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, mkchain((char *)yypvt[-2].tagval, CHNULL) ); } break;
case 292:
! /* # line 1230 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].tagval, mkchain((char *)yypvt[-2].tagval, CHNULL) ); } break;
case 293:
! /* # line 1232 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].expval, yypvt[-2].chval); } break;
case 294:
! /* # line 1234 "gram.in" */
! { yyval.chval = mkchain((char *)yypvt[-0].tagval, yypvt[-2].chval); } break;
case 295:
! /* # line 1238 "gram.in" */
! { yyval.tagval = (tagptr) yypvt[-0].expval; } break;
case 296:
! /* # line 1240 "gram.in" */
! { yyval.tagval = (tagptr) yypvt[-1].expval; } break;
case 297:
! /* # line 1242 "gram.in" */
! { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, mkchain((char *)yypvt[-3].expval, CHNULL) ); } break;
case 298:
! /* # line 1244 "gram.in" */
! { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, mkchain((char *)yypvt[-3].tagval, CHNULL) ); } break;
case 299:
! /* # line 1246 "gram.in" */
! { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, revchain(yypvt[-3].chval)); } break;
case 300:
! /* # line 1250 "gram.in" */
! { startioctl(); } break;
! }
! goto yystack; /* stack new state and value */
}
--- 2391,2831 ----
/* This next statement depends on the ordering of the state table encoding */
if(parstate < INDATA) enddcl();
! ;
! break;}
case 240:
! #line 1073 "gram.y"
! { intonly = YES; ;
! break;}
case 241:
! #line 1077 "gram.y"
! { intonly = NO; ;
! break;}
case 242:
! #line 1082 "gram.y"
! { endio(); ;
! break;}
case 244:
! #line 1087 "gram.y"
! { ioclause(IOSUNIT, yyvsp[0].expval); endioctl(); ;
! break;}
case 245:
! #line 1089 "gram.y"
! { ioclause(IOSUNIT, ENULL); endioctl(); ;
! break;}
case 246:
! #line 1091 "gram.y"
! { ioclause(IOSUNIT, IOSTDERR); endioctl(); ;
! break;}
case 248:
! #line 1094 "gram.y"
! { doio(CHNULL); ;
! break;}
case 249:
! #line 1096 "gram.y"
! { doio(CHNULL); ;
! break;}
case 250:
! #line 1098 "gram.y"
! { doio(revchain(yyvsp[0].chval)); ;
! break;}
case 251:
! #line 1100 "gram.y"
! { doio(revchain(yyvsp[0].chval)); ;
! break;}
case 252:
! #line 1102 "gram.y"
! { doio(revchain(yyvsp[0].chval)); ;
! break;}
case 253:
! #line 1104 "gram.y"
! { doio(CHNULL); ;
! break;}
case 254:
! #line 1106 "gram.y"
! { doio(revchain(yyvsp[0].chval)); ;
! break;}
case 255:
! #line 1108 "gram.y"
! { doio(CHNULL); ;
! break;}
case 256:
! #line 1110 "gram.y"
! { doio(revchain(yyvsp[0].chval)); ;
! break;}
case 258:
! #line 1117 "gram.y"
! { iostmt = IOBACKSPACE; ;
! break;}
case 259:
! #line 1119 "gram.y"
! { iostmt = IOREWIND; ;
! break;}
case 260:
! #line 1121 "gram.y"
! { iostmt = IOENDFILE; ;
! break;}
case 262:
! #line 1128 "gram.y"
! { iostmt = IOINQUIRE; ;
! break;}
case 263:
! #line 1130 "gram.y"
! { iostmt = IOOPEN; ;
! break;}
case 264:
! #line 1132 "gram.y"
! { iostmt = IOCLOSE; ;
! break;}
case 265:
! #line 1136 "gram.y"
{
ioclause(IOSUNIT, ENULL);
! ioclause(IOSFMT, yyvsp[0].expval);
endioctl();
! ;
! break;}
case 266:
! #line 1142 "gram.y"
{
ioclause(IOSUNIT, ENULL);
ioclause(IOSFMT, ENULL);
endioctl();
! ;
! break;}
case 267:
! #line 1150 "gram.y"
{
! ioclause(IOSUNIT, yyvsp[-1].expval);
endioctl();
! ;
! break;}
case 268:
! #line 1155 "gram.y"
! { endioctl(); ;
! break;}
case 271:
! #line 1163 "gram.y"
! { ioclause(IOSPOSITIONAL, yyvsp[0].expval); ;
! break;}
case 272:
! #line 1165 "gram.y"
! { ioclause(IOSPOSITIONAL, ENULL); ;
! break;}
case 273:
! #line 1167 "gram.y"
! { ioclause(IOSPOSITIONAL, IOSTDERR); ;
! break;}
case 274:
! #line 1169 "gram.y"
! { ioclause(yyvsp[-1].ival, yyvsp[0].expval); ;
! break;}
case 275:
! #line 1171 "gram.y"
! { ioclause(yyvsp[-1].ival, ENULL); ;
! break;}
case 276:
! #line 1173 "gram.y"
! { ioclause(yyvsp[-1].ival, IOSTDERR); ;
! break;}
case 277:
! #line 1177 "gram.y"
! { yyval.ival = iocname(); ;
! break;}
case 278:
! #line 1181 "gram.y"
! { iostmt = IOREAD; ;
! break;}
case 279:
! #line 1185 "gram.y"
! { iostmt = IOWRITE; ;
! break;}
case 280:
! #line 1189 "gram.y"
{
iostmt = IOWRITE;
ioclause(IOSUNIT, ENULL);
! ioclause(IOSFMT, yyvsp[-1].expval);
endioctl();
! ;
! break;}
case 281:
! #line 1196 "gram.y"
{
iostmt = IOWRITE;
ioclause(IOSUNIT, ENULL);
ioclause(IOSFMT, ENULL);
endioctl();
! ;
! break;}
case 282:
! #line 1205 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].tagval, CHNULL); ;
! break;}
case 283:
! #line 1207 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].tagval, yyvsp[-2].chval); ;
! break;}
case 284:
! #line 1211 "gram.y"
! { yyval.tagval = (tagptr) yyvsp[0].expval; ;
! break;}
case 285:
! #line 1213 "gram.y"
! { yyval.tagval = (tagptr) mkiodo(yyvsp[-1].chval,revchain(yyvsp[-3].chval)); ;
! break;}
case 286:
! #line 1217 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, CHNULL); ;
! break;}
case 287:
! #line 1219 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].tagval, CHNULL); ;
! break;}
case 289:
! #line 1224 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, mkchain((char *)yyvsp[-2].expval, CHNULL) ); ;
! break;}
case 290:
! #line 1226 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].tagval, mkchain((char *)yyvsp[-2].expval, CHNULL) ); ;
! break;}
case 291:
! #line 1228 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, mkchain((char *)yyvsp[-2].tagval, CHNULL) ); ;
! break;}
case 292:
! #line 1230 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].tagval, mkchain((char *)yyvsp[-2].tagval, CHNULL) ); ;
! break;}
case 293:
! #line 1232 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].expval, yyvsp[-2].chval); ;
! break;}
case 294:
! #line 1234 "gram.y"
! { yyval.chval = mkchain((char *)yyvsp[0].tagval, yyvsp[-2].chval); ;
! break;}
case 295:
! #line 1238 "gram.y"
! { yyval.tagval = (tagptr) yyvsp[0].expval; ;
! break;}
case 296:
! #line 1240 "gram.y"
! { yyval.tagval = (tagptr) yyvsp[-1].expval; ;
! break;}
case 297:
! #line 1242 "gram.y"
! { yyval.tagval = (tagptr) mkiodo(yyvsp[-1].chval, mkchain((char *)yyvsp[-3].expval, CHNULL) ); ;
! break;}
case 298:
! #line 1244 "gram.y"
! { yyval.tagval = (tagptr) mkiodo(yyvsp[-1].chval, mkchain((char *)yyvsp[-3].tagval, CHNULL) ); ;
! break;}
case 299:
! #line 1246 "gram.y"
! { yyval.tagval = (tagptr) mkiodo(yyvsp[-1].chval, revchain(yyvsp[-3].chval)); ;
! break;}
case 300:
! #line 1250 "gram.y"
! { startioctl(); ;
! break;}
! }
! /* the action file gets copied in in place of this dollarsign */
! #line 457 "/usr/local/lib/bison.simple"
!
! yyvsp -= yylen;
! yyssp -= yylen;
! #ifdef YYLSP_NEEDED
! yylsp -= yylen;
! #endif
!
! #if YYDEBUG != 0
! if (yydebug)
! {
! short *ssp1 = yyss - 1;
! fprintf (stderr, "state stack now");
! while (ssp1 != yyssp)
! fprintf (stderr, " %d", *++ssp1);
! fprintf (stderr, "\n");
! }
! #endif
!
! *++yyvsp = yyval;
!
! #ifdef YYLSP_NEEDED
! yylsp++;
! if (yylen == 0)
! {
! yylsp->first_line = yylloc.first_line;
! yylsp->first_column = yylloc.first_column;
! yylsp->last_line = (yylsp-1)->last_line;
! yylsp->last_column = (yylsp-1)->last_column;
! yylsp->text = 0;
! }
! else
! {
! yylsp->last_line = (yylsp+yylen-1)->last_line;
! yylsp->last_column = (yylsp+yylen-1)->last_column;
! }
! #endif
!
! /* Now "shift" the result of the reduction.
! Determine what state that goes to,
! based on the state we popped back to
! and the rule number reduced by. */
!
! yyn = yyr1[yyn];
!
! yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
! if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
! yystate = yytable[yystate];
! else
! yystate = yydefgoto[yyn - YYNTBASE];
!
! goto yynewstate;
!
! yyerrlab: /* here on detecting error */
!
! if (! yyerrstatus)
! /* If not already recovering from an error, report this error. */
! {
! ++yynerrs;
!
! #ifdef YYERROR_VERBOSE
! yyn = yypact[yystate];
!
! if (yyn > YYFLAG && yyn < YYLAST)
! {
! int size = 0;
! char *msg;
! int x, count;
!
! count = 0;
! /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
! for (x = (yyn < 0 ? -yyn : 0);
! x < (sizeof(yytname) / sizeof(char *)); x++)
! if (yycheck[x + yyn] == x)
! size += strlen(yytname[x]) + 15, count++;
! msg = (char *) malloc(size + 15);
! if (msg != 0)
! {
! strcpy(msg, "parse error");
!
! if (count < 5)
! {
! count = 0;
! for (x = (yyn < 0 ? -yyn : 0);
! x < (sizeof(yytname) / sizeof(char *)); x++)
! if (yycheck[x + yyn] == x)
! {
! strcat(msg, count == 0 ? ", expecting `" : " or `");
! strcat(msg, yytname[x]);
! strcat(msg, "'");
! count++;
! }
! }
! yyerror(msg);
! free(msg);
! }
! else
! yyerror ("parse error; also virtual memory exceeded");
! }
! else
! #endif /* YYERROR_VERBOSE */
! yyerror("parse error");
! }
!
! goto yyerrlab1;
! yyerrlab1: /* here on error raised explicitly by an action */
!
! if (yyerrstatus == 3)
! {
! /* if just tried and failed to reuse lookahead token after an error, discard it. */
!
! /* return failure if at end of input */
! if (yychar == YYEOF)
! YYABORT;
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
! #endif
!
! yychar = YYEMPTY;
! }
!
! /* Else will try to reuse lookahead token
! after shifting the error token. */
!
! yyerrstatus = 3; /* Each real token shifted decrements this */
!
! goto yyerrhandle;
!
! yyerrdefault: /* current state does not do anything special for the error token. */
!
! #if 0
! /* This is wrong; only states that explicitly want error tokens
! should shift them. */
! yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
! if (yyn) goto yydefault;
! #endif
!
! yyerrpop: /* pop the current state because it cannot handle the error token */
!
! if (yyssp == yyss) YYABORT;
! yyvsp--;
! yystate = *--yyssp;
! #ifdef YYLSP_NEEDED
! yylsp--;
! #endif
!
! #if YYDEBUG != 0
! if (yydebug)
! {
! short *ssp1 = yyss - 1;
! fprintf (stderr, "Error: state stack now");
! while (ssp1 != yyssp)
! fprintf (stderr, " %d", *++ssp1);
! fprintf (stderr, "\n");
! }
! #endif
!
! yyerrhandle:
!
! yyn = yypact[yystate];
! if (yyn == YYFLAG)
! goto yyerrdefault;
!
! yyn += YYTERROR;
! if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
! goto yyerrdefault;
!
! yyn = yytable[yyn];
! if (yyn < 0)
! {
! if (yyn == YYFLAG)
! goto yyerrpop;
! yyn = -yyn;
! goto yyreduce;
! }
! else if (yyn == 0)
! goto yyerrpop;
!
! if (yyn == YYFINAL)
! YYACCEPT;
!
! #if YYDEBUG != 0
! if (yydebug)
! fprintf(stderr, "Shifting error token, ");
! #endif
!
! *++yyvsp = yylval;
! #ifdef YYLSP_NEEDED
! *++yylsp = yylloc;
! #endif
!
! yystate = yyn;
! goto yynewstate;
}
+ #line 1252 "gram.y"
diff -c ORIG-src/makefile src/makefile
*** ORIG-src/makefile Wed Apr 28 07:08:42 1993
--- src/makefile Thu Nov 18 03:07:40 1993
***************
*** 1,6 ****
# Makefile for f2c, a Fortran 77 to C converter
! g = -g
CFLAGS = $g
SHELL = /bin/sh
--- 1,9 ----
# Makefile for f2c, a Fortran 77 to C converter
! CC = gcc
! YACC = bison -y
!
! g = -O2
CFLAGS = $g
SHELL = /bin/sh
***************
*** 8,16 ****
expr.o exec.o intr.o io.o misc.o error.o mem.o names.o \
output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o \
parse_args.o niceprintf.o cds.o sysdep.o version.o
! OBJECTS = $(OBJECTSd) malloc.o
! all: xsum.out f2c
f2c: $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o f2c
--- 11,23 ----
expr.o exec.o intr.o io.o misc.o error.o mem.o names.o \
output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o \
parse_args.o niceprintf.o cds.o sysdep.o version.o
! OBJECTS = $(OBJECTSd)
! #malloc.o
!
! .c.o:
! $(CC) -c $(CFLAGS) $*.c
! all: f2c
f2c: $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o f2c
***************
*** 17,27 ****
gram.c: gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
( sed <tokdefs.h "s/#define/%token/" ;\
! cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in
! $(YACC) $(YFLAGS) gram.in
echo "(expect 4 shift/reduce)"
sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
! rm -f gram.in y.tab.c
$(OBJECTSd): defs.h ftypes.h defines.h machdefs.h sysdep.h
--- 24,38 ----
gram.c: gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
( sed <tokdefs.h "s/#define/%token/" ;\
! cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.y
! $(YACC) $(YFLAGS) gram.y
echo "(expect 4 shift/reduce)"
sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
! rm -f gram.y y.tab.c
!
! # -O2 is too much for my 4 meg Amiga :-(
! gram.o: gram.c
! $(CC) -c -O gram.c
$(OBJECTSd): defs.h ftypes.h defines.h machdefs.h sysdep.h
diff -c ORIG-src/sysdep.c src/sysdep.c
*** ORIG-src/sysdep.c Wed Apr 28 07:10:00 1993
--- src/sysdep.c Wed Nov 17 12:16:04 1993
***************
*** 40,45 ****
--- 40,48 ----
#ifndef TMPDIR
#ifdef MSDOS
#define TMPDIR ""
+ #endif
+ #ifdef AMIGA
+ #define TMPDIR "T:"
#else
#define TMPDIR "/tmp"
#endif
***************
*** 99,106 ****
sprintf(p1_file, "%sf2c_p1f", t);
sprintf(p1_bakfile, "%sf2c_p1fb", t);
sprintf(sortfname, "%sf2c_sort", t);
#else
! int pid = getpid();
sprintf(c_functions, "%s/f2c%d_func", tmpdir, pid);
sprintf(initfname, "%s/f2c%d_rd", tmpdir, pid);
sprintf(blkdfname, "%s/f2c%d_blkd", tmpdir, pid);
--- 102,118 ----
sprintf(p1_file, "%sf2c_p1f", t);
sprintf(p1_bakfile, "%sf2c_p1fb", t);
sprintf(sortfname, "%sf2c_sort", t);
+ #endif
+ #ifdef AMIGA
+ int pid = getpid();
+ sprintf(c_functions, "%sf2c%d_func", tmpdir, pid);
+ sprintf(initfname, "%sf2c%d_rd", tmpdir, pid);
+ sprintf(blkdfname, "%sf2c%d_blkd", tmpdir, pid);
+ sprintf(p1_file, "%sf2c%d_p1f", tmpdir, pid);
+ sprintf(p1_bakfile, "%sf2c%d_p1fb", tmpdir, pid);
+ sprintf(sortfname, "%sf2c%d_sort", tmpdir, pid);
#else
! int pid = getpid();
sprintf(c_functions, "%s/f2c%d_func", tmpdir, pid);
sprintf(initfname, "%s/f2c%d_rd", tmpdir, pid);
sprintf(blkdfname, "%s/f2c%d_blkd", tmpdir, pid);